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

来源:互联网 发布:java快去排序 编辑:程序博客网 时间:2024/06/06 00:58

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 0
原创粉丝点击