做出来是做出来了。但是没考虑过兼容性问题。只在chrome下运行过。。。现在IE要退役了。能不再考虑IE9以下的兼容性问题了吗?/(ㄒoㄒ)/~~
讲师回答 / Bosn
function adaptor(x, y, z) { var args = [].slice.call(arguments, 0); swap(args[1], args[2]); // 交换值,自己实现。 return add.apply(this, args);}
2015-04-08
解释器在解释一个语句时,如果以function开头,就会理解为函数声明。
而前面加一个!可以让解释器理解为函数表达式,这样就可以立即调用了。
例如:
!funciton() {
}();
而省略了!的话:
function() {
}();
就会理解为函数声明,而函数声明没有名字会报错。如果有函数名:
function f() {
}();
而前面加一个!可以让解释器理解为函数表达式,这样就可以立即调用了。
例如:
!funciton() {
}();
而省略了!的话:
function() {
}();
就会理解为函数声明,而函数声明没有名字会报错。如果有函数名:
function f() {
}();
2015-04-07
讲师回答 / Bosn
(1)为什么是prototype不是覆盖而是name 属性和name1属性叠加输出的name属性是你在构造器,也就是function a里面的this.name赋值导致的。而对象的原型(也就是a.prototype)在替换为{name1:"b"}以后,上已经没有name了。(2)同名时为什么是name,出现而不是name1没懂你想问啥,name和name1本来就是2个名字。(3)输出为什么是a {xxx}和Object {xxxx}为什么输出格式不一样,一个是a,一个数Object这是console内部的...
2015-04-06