javascript深入理解
文章平均质量分 75
cslove9
Be king in your dreams.
展开
-
eval和with对性能的影响
javascript中使用eval和with一直被认为是一个不好的主意,他们对性能的影响是很大的,在说明性能之前我们先看看这两种机制都是什么样子的。evaljavascript中的eval函数可以接受一个字符串作为它的参数,并能将该参数作为代码进行执行,也就是说在你写代码的地方可以生成代码并运行,来看如下代码:var str="console.log(1)";eval(str); //1上面原创 2017-01-01 10:48:27 · 1038 阅读 · 0 评论 -
js函数作用域与块作用域
隐藏内部实现对函数的传统认知就是先声明一个函数,在向里面添加代码。但反过来想也可以带来一些启示,从所写的代码中挑出来一个任意的片段,然后用函数声明对他进行包装,实际上就是把这些代码隐藏起来了。在软件设计中应该最小限度的暴露内容,一些模块和对象API的设计也都应该遵循此原则。function doSomething(a){ function otherthing(a){ ret原创 2017-01-02 18:58:55 · 599 阅读 · 0 评论 -
this全面总结
this在javascript中是比较特别的关键字,被自动定义在所有的函数作用域中,不过对它的理解确实让我煞费苦心···在这里总结下我对js中this的理解。我们为什么要使用this呢?简单来说,this可以隐式的传递一个对象的引用,因此可以将API设计的更加简洁并且易于使用。要是没有this 我们必须显示的给每个函数传递一个上下文对象,这样会让代码变得越来越乱,而函数可以自动引用合适的上下文对象在原创 2017-01-04 17:37:51 · 316 阅读 · 0 评论 -
js数组的操作
1、数组的创建1var arrayObj = new Array(); //创建一个数组2 3var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度4转载 2017-01-04 17:59:04 · 246 阅读 · 0 评论 -
什么是作用域及js编译原理
每个程序语言都会有对变量的使用,会对这个变量就行赋值修改等操作。那么问题来了,这些变量都存在哪里,怎样对它进行查找并读取呢?显然,我们必须定义一套规则来操作这些变量简单的进行读取和存储,而这套规则应该就是作用域了。来看一个简单的赋值语句var a=2; 大多数人会认为这是一个声明变量并赋值而已,事实也确实如此,而要强调的是电脑中的引擎会将它认为是两个声明,第一个var a 看做是在编译器编译时处理,原创 2016-12-31 22:41:15 · 2064 阅读 · 1 评论 -
js中“==“和“===“的区别
使用==时,不同类型的值也可以被看作相等,也就是说==允许在相等比较中进行强制类型转换,而===不允许。如果比较的两个值类型相同,则==和===使用相同的算法,两者并没有什么区别。这样看起来==貌似工作量更大一些,还需要进行强制类型转换…当用==比较两个不同类型值的时候会发生隐式强制类型转换原创 2017-03-15 17:12:25 · 706 阅读 · 0 评论 -
什么是闭包
闭包这个东西让我理解了好久,也算是理解javascript语言比较重要的一个环节吧,在这做一个自我思考的详细总结~,有错误望指正~首先要说明的是闭包在你的代码中随处可见,可能不知不觉的你正在写闭包~,只是你不认识它,不了解它,现在我们揭开它的面纱来瞧瞧它的真面目。先说下闭包直截了当的定义,我也是在网上查了下:当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行 来原创 2017-01-03 17:44:34 · 341 阅读 · 0 评论