码迷,mamicode.com
首页 > 编程语言 > 详细

深入理解javascript--笔记

时间:2016-06-30 17:57:04      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

书写可维护的代码

1,最小全局变量   在js中不用声明变量就可以直接使用,因此注意不要没有声明就使用。(无意中创建的全局变量)比如使用任务链进行var声明。var a=b=12;正确写法为var  a,b;a=b=12;在技术上,隐式全局变量并不是真正意义上的全局变量。用var声明的变量可以用delete操作符删除,但是隐式全局变量就不可以,仅是全局对象的一个属性。属性可以删除,变量不可以。

 

 

 

 

for---in  在非数组对象上遍历,也叫枚举。尽管在javascript中数组也是对象,但不推荐使用for--in--遍历数组。有个很重要的方法hasOwnProperty()可以过滤掉从原型链上继承下来的属性或者方法。在js中避免使用eval(),setTimeout();setInterval();Function();

// 反面示例
setTimeout("myFunc()", 1000);
setTimeout("myFunc(1, 2, 3)", 1000);

// 更好的
setTimeout(myFunc, 1000);
setTimeout(function () {
myFunc(1, 2, 3);
}, 1000);


js中常见的自执行函数的写法,1.(function(){})();2.(function(){}());3,!function(){}();4,void function(){}();

return 有个隐式分号,因此在书写时,如果返回的是一个对象,将return与花括号一行。

js对象之间的继承实现方法:var a={say: function(){}};var b={__proto__: a };b继承了a的方法和属性,也拥有了say方法;

在执行一段代码之前,浏览器都会做一些准备工作。例如,变量的声明,this的赋值,对于函数表达式来说像对待变量声明那样对待,对函数声明直接对函数名进行赋值了。这三种的数据准备情况被称为“执行上下文”或者“执行上下文环境”。

在ECMAScript中代码有三种类型,function,eval,global

 

深入理解javascript--笔记

标签:

原文地址:http://www.cnblogs.com/dianshangxiaobai/p/5630381.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!