js 对象是什么 太难理解了

例如funcitoncc(){}然后这个时候cc状态好像有很多1.cc2.cc()3.newcc()每个都不同然后cc里面如果有this的话含义又不同后续还有cc.pro... 例如 funciton cc(){}
然后这个时候cc状态好像有很多
1. cc
2. cc()
3. new cc()
每个都不同
然后cc里面如果有this的话含义又不同
后续还有
cc.prototype ???
new cc().prototype ???

cc=
{
width:"90px",
height:"80px"
};
还有他妈的 arguments
cc.apply();

越想越气 这都什么啊!我研究js1年多了 这些还是很混乱
展开
 我来答
cc10k
推荐于2017-09-23 · TA获得超过545个赞
知道小有建树答主
回答量:203
采纳率:0%
帮助的人:233万
展开全部
我来根据我的理解回答一下LZ的问题,如果有不对的地方还请多多指教!
1.cc //这个是函数体本身,用在给函数添加或者调用属性一类的事情;
2.cc() //执行函数体
3.new cc() //创建一个cc函数的对象,如果你理解面象对象的话,就会很容易理解
关于this
this在函数体里的含义不相同,就function cc(){this.i="cc"};而言,如果没有创建对象,那这个this就代表window对象,这时候你如果执行cc();的话,window对象中就会有一个值为"cc"的属性i.如果创建了一个cc对象:var c=new cc();这时候this指的就是新建的对象c.
关于prototype
JavaScript的所有function类型的对象都有一个prototype属性.这个prototype 属性本身又是一个object 类型的对象,因此我们也可以给这个prototype 对象添加任意的属性和方法.
关于this和prototype区别
this的级别高于prototype,举个例子
function cc(){this.i="cc"};
cc.prototype.i="aa";
alert(new cc().i);// i="cc"
这时候如果把this.i="cc"去掉的话,则会显示"aa"

关于new cc().prototype
前面说过,function类型的对象都有一个prototype属性,而如果new cc().prototype这么写,就相当在cc()的对象上创建了一个名字为prototype属性,它的值为undefined,没有实际意义.

cc={};这种形式就是创建了一个对象的简写,和cc=new Object();一样. 对象里有两个属性width和height.

他妈的arguments 的意思就是函数的实参,比如
function cc(){alert(arguments[0]);}
cc("参数一");

cc.apply();的原形是cc.apply(func,args[]);意思就是在名为func的函数中加入一个cc函数,args是cc函数的参数,用数组形式表示. 执行完这条以后就可以在func的对象中调用cc函数了
和apply()相似的是call().两个作用相同,只是call(func,arg1,arg2,...)里面的参数不是数组形式,要用逗号隔开写

希望对LZ有所帮助,如果大家觉得有什么不对的地方请尽情提出!谢谢!
yegao
推荐于2017-09-21 · TA获得超过1154个赞
知道小有建树答主
回答量:533
采纳率:66%
帮助的人:375万
展开全部
js对象是属性的集合
方法(Function) 数组(Array)对象(Object)都是对象
对象都是由函数产生的,只是我们平时看到的这种写法
var obj = {"a":"aaa","b":"bbb"}
这种其实是一种语法糖,其实等价于 var obj = new Object();obj.a="aaa".obj.b="bbb";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式