最赞回答 / qq_狸猫_0
可以省略 在任何数据类型前添加一个'+'号 它可以起到的作用就相当于Number()方法 而这个就是一元加操作符 例如+'123' 那么本来应该是字符串类型的123 会转变成数字类型的123 再例如+undefined 那么undefined类型会转变成数字类型的NaN 具体如果对这个一元加操作符感兴趣 可以去具体了解一下
2016-09-05
已采纳回答 / OlderSkee
function Person1(){ var name = "张三";//函数里的变量 return name;}console.log(Person1()); //显示 张三function Person2(){ this.name = "李四" //函数的属性}var Myname = new Person2(); //实例化console.log(Myname.name) //调用 显示 李四
2016-09-04
判断This指向 :
函数是否在New中调用(new绑定)?如果是的话this绑定的是创建的对象。var bar =new foo();
函数是否通过call ,apply(显示绑定)或者硬绑定?如果是,this绑定的是指定的对象。var bar=foo,call(obj);
函数是否在上下文对象中调用(隐式绑定)?如果是的话,this绑定的是那个上下文对象.var bar =obj1.foo();
如果都不是的话,使用默认绑定,此时绑定到全局对象.但在严格模式下,则绑定到undefined。
函数是否在New中调用(new绑定)?如果是的话this绑定的是创建的对象。var bar =new foo();
函数是否通过call ,apply(显示绑定)或者硬绑定?如果是,this绑定的是指定的对象。var bar=foo,call(obj);
函数是否在上下文对象中调用(隐式绑定)?如果是的话,this绑定的是那个上下文对象.var bar =obj1.foo();
如果都不是的话,使用默认绑定,此时绑定到全局对象.但在严格模式下,则绑定到undefined。
2016-09-03
已采纳回答 / 1773141217
因为解析的原因。如果直接以{}开头会直接被误认为是一个块语句而不是一个空对象。那么instanceof的左操作数就不对了。所以才有语法错误。类似的如果直接用function(){}也是不行的因为会被解析成函数声明。不过就算不先定义给他们加个括号也可以解决了。因为括号里先计算了语法上就解释通了。
2016-09-02