这一节课真的好!包装对象!我一直有个疑问,就是字符串就是字符串,为啥还有属性和方法啊?后来自己想的就是:一切都是对象,那么都有自己的属性和方法,就这么强行理解的,这节课才真的懂了,原来是这么回事!
2016-10-19
最新回答 / testname
这个应该是函数用途的问题了,如果foo()这样写,那函数本身就是当做window的方法使用,如果new foo(),就相当于把函数当做一个类,实例化这个类,bind方法只是对于前者来说的,如果new一个实例的话来说bind没有丝毫作用,相当于是var func = foo; 只不过是把函数指针重新复制了一遍而已,那么传入bind()的{a : 1}肯定也是没用的。
2016-10-18
最新回答 / king0964
bar.call(7)是利用call改变函数bar()中的this的指向,且立即执行函数bar();由于this执行对象为7,执行语句变为“console.log(Object.prototype.toString.call(7)”,所以结果显示“[Object Number]”
2016-10-18
最赞回答 / lym_0001
1、函数的声明会被前置,如:function foo(){}; 会初始化在一个vo变量对象里面,这个函数的值为:foo函数本身。2、函数的表达式会被忽略掉,更不会被前置,如:var a =function fpp(){};这里的fpp是一个函数表达式(因为他要是赋值给a)在这里初始化的时候会被忽略只保留变量a,且变量a的值初始化为undefined。参照方法图:<...图片...>
2016-10-18
已采纳回答 / weibo_陈杰夫长颈鹿_0323711
关于add.call(o,1,10);你可以理解为,对象o中有了add这个方法,即:var o{a:1,b:3,// 在对象o中新增加了 function add(c,d){ return this.a +this.b+c +d; } return this.a +this.b+c +d}此时的a,b就是1,3;而1,10就是c,d
2016-10-18
最赞回答 / 火星漫步
(function (){})()就是一个匿名函数自执行;var c = function (){}();一样,只不过是匿名的,为了不让浏览器认为是函数声明,所以前面加了( ); return function (){}就是将函数作为返回值抛出,没什么好说的。document.write((function(a,b){ return a +b; })();)是因为你write()里面有“;”write本来就是一个函数,函数里面有";"肯定会报错,
2016-10-18
已采纳回答 / 慕莱坞7559429
首先,还是建议问问题可以贴出代码,这样可能可以让大家更加明白你要问什么问题。下面是我个人的理解,如果说错了还希望大家或者题主指正。就这个问题,我想可以先说说表达式key1.join().indexOf(typeFirst)<0中两个方法join()以及indexOf()的用法:(1)join():作用是将数组转化为字符串,其作用与toString()相同。(2)indexOf():返回某个指定的字符串值在字符串中首次出现的位置。要注意的是indexOf()对大小写敏感且如果要检索的字符串值没有出现,...
2016-10-18