[持续更新]JavaScript学习笔记(八)

1.匿名函数在JavaScript中是很常见的,也算是个零碎的知识点,值得记录。

匿名函数顾名思义就是没有名字的函数,这种函数在JavaScript中的写法也很多,我参考了书本以及网上的别人的博客,总结出以下几种:

//常见写法
(function() { 
alert('water'); 
})(); 
//带参数写法
(function(o) { 
alert(o); 
})('water'); 
//匿名函数链式调用
(function(o) { 
alert(o); 
return arguments.callee; 
})('water')('down'); 
 
//不常见的匿名函数
~(function(){ 
alert('water'); 
})();
//据说效率最高的写法不懂
void function(){ 
alert('water'); 
}();
 
+function(){ 
alert('water'); 
}(); 
 
-function(){ 
alert('water'); 
}(); 
 
!function(){ 
alert('water'); 
}(); 
 
(function(){ 
alert('water'); 
}());

要说一句的是,我作为新人,经验尚少,很多地方需要看别人的总结的博客,但是自身可能没真正接触过,记录到自己博客中,为了以后方便自己的学习工作。

2.new关键字

JavaScriptnew的作用不如Javanew的作用大,但是也是很重要的一个知识点。

看个例子:

 

firebug中的结果:

 

可以看到 a是一个function对象, b则是一个字符串。

可以这样理解,new一个对象时,就是创建了一个这个对象的实例。

var obj = new Base();

实际上JavaScript引擎模型中的样子是

 

也就是说过程是:

var obj  = {};

obj.__proto__ = Base.prototype;

Base.call(obj);

我之前也提到了,__proto__是对象隐藏属性,指向他所继承对象,prototype只有函数才有。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值