![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
y4786924
这个作者很懒,什么都没留下…
展开
-
void运算符总结(不断更新中)
1.void运算符对任何值都返回undefined。该运算符通常用于避免输出不应该输出的值,例如:注:《javaScript高级程序设计》第二版33页原创 2013-08-07 11:06:07 · 743 阅读 · 0 评论 -
学习Javascript闭包(Closure)
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 va转载 2013-08-12 22:18:40 · 401 阅读 · 0 评论 -
undefined与null的区别分析
总所周知: null == undefined 但是: null !== undefined 那么这两者到底有啥区别呢? null 这是一个对象,但是为空。因为是对象,所以 typeof null 返回 'object' 。 null 是 JavaScript 保留关键字。 null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正确的数值:转载 2013-08-06 16:46:52 · 521 阅读 · 0 评论 -
undefined总结(不断更新中)
1. 值undefined并不同于未定义的值。但是,typeof运算符并不真正区分这两种值,考虑如下代码:var oTemp;alert(typeof oTemp); //输出"undefined"alert(typeof oTemp2); //输出"undefined"前面的代码对两个变量输出都是“undefined",即使只有变量oTemp2是未被声明过的。 2.如原创 2013-08-07 10:24:22 · 718 阅读 · 0 评论 -
instanceof工作原理
为了计算表达式o instanceof F,javaScript会首先计算F.prototype,然后再在原型链中查找o,如果找到那么o是F的一个实例。如果F.prototype不在o的原型链中的话,那么就不是f的实例。转载 2013-09-09 17:14:14 · 1353 阅读 · 0 评论 -
javaScript中对象的属性名命名规则
var stooge={ "first-name":"Jerome", "last-name":"Howard", age:23}; 在对象字面量中属性名命名规则:1.属性名可以是包括空字符串在内的任何字符串。2.如果属性名是一个合法的javaScript标识符且不是保留字,则并不强制要求用引号括住属性名。所以用引号括住“first原创 2013-08-06 16:23:44 · 1294 阅读 · 0 评论 -
套嵌函数的this值
1.套嵌函数不会从调用它的函数中继承this。 2.如果套嵌函数作为方法调用,其this值指向调用它的对象。 3.如果套嵌函数作为函数调用,其this值不是全局对象(非严格模式下)就是undefined(严格模式下)。原创 2013-09-10 15:39:43 · 546 阅读 · 0 评论 -
JavaScript对象模型-执行模型
数据类型基本数据类型基本数据类型是JS语言最底层的实现。简单数值类型: 有Undefined, Null, Boolean, Number和String。注意,描述中的英文单词在这里仅指数据类型的名称,并不特指JS的全局对象N an, Boolean, Number, String等,它们在概念上的区别是比较大的。对象: 一个无序属性的集合,这些属性的值为简单数值类型、对象或者函数转载 2013-09-18 16:22:16 · 629 阅读 · 0 评论 -
Limu:JavaScript的那些书
又好久没写东西了,写上一篇的时候还以为接下来的工作会轻松一些,结果未从我所愿呐,又是一阵忙碌.而这段时间穿插着做了很多12年淘宝校园招聘的前端面试,很多同学都有问到,学校里没有前端的课程,那如何学习JavaScript? 我的回答是:读书吧~相对于在网上学习,在项目中学习和跟着有经验的同事学习,书中有着相对完整的知识体系,每读一本好书都会带来一次全面的提高.而如果深一脚浅一脚的学习,写转载 2013-09-18 09:00:48 · 781 阅读 · 0 评论 -
关于闭包要注意的几点问题
1.如果闭包赋值给外部变量,由于闭包会携带包含它的函数的活动对象,因此会比其他函数占用更多的内存。过度使用闭包可能会导致内存占用过多,建议只在绝对必要的时候再考虑使用闭包。原创 2013-09-19 09:59:30 · 623 阅读 · 0 评论 -
Javascript 闭包
简介基于对象的属性名解析值的指定值的读取标识符解析、执行环境和作用域链执行环境作用域链与 [[scope]]标识符解析闭包自动垃圾收集构成闭包通过闭包可以做什么?例 1:为函数引用设置延时例 2:通过对象实例方法关联函数例 3:包装相关的功能其他例子意外的闭包Internet Explorer 的内在泄漏问题简介Closure所谓转载 2013-09-18 17:56:25 · 597 阅读 · 0 评论 -
对象属性名是数字时怎样读取
var person={ age:45, name:"yyy", 5:67}读取时用person[5]的语法结构原创 2013-10-08 09:15:26 · 3330 阅读 · 0 评论 -
词法作用域和闭包
var classA = function(){ this.prop1 = 1; } classA.prototype.func1 = function(){ var that = this, var1 = 2; function a(){ return function(){ ale转载 2013-08-13 08:38:32 · 473 阅读 · 0 评论 -
举例详细说明javascript作用域、闭包原理以及性能问题
这可能是每一个jser都曾经为之头疼的却又非常经典的问题,关系到内存,关系到闭包,关系到javascript运行机制。关系到功能,关系到性能。文章内容主要参考自《High Performance JavaScript》作用域:下面我们先搞明白这样几个概念:函数对象的[[scope]]属性、ScopeChain(作用域链)Execution Context转载 2013-08-13 09:24:10 · 563 阅读 · 0 评论 -
javaScript的预编译
在预编译分析中,javaScript执行引擎将所有定义式函数直接创建为作用域上的函数变量,并将其值初始化为定义的函数代码逻辑,也就是为其建立了可调用的函数变量。而对于所有“var"定义的变量,也会在第一步的预编译中创建起来,并将初始值设为undefined.原创 2013-08-07 16:48:25 · 521 阅读 · 0 评论 -
NaN总结(不断更新中)
NaN表示非数(Not a Number)。一般来说,这种情况发生在类型(String、Boolean等)转换失败时。 1.它自身与自身不相等。如: alert(NaN==NaN); //输出"false" 2.不能用于算术计算。 注:以上两点来自于《JavaScript高级程序设计》第二版 17页原创 2013-08-07 10:34:31 · 505 阅读 · 0 评论 -
javaScript逻辑或操作符运算规则
与逻辑与操作相似,如果有一个操作数不是布尔值,逻辑或也不一定返回布尔值;此时,它遵循下列规则: 1.如果第一个操作数是对象,则返回第一个操作数; 2.如果第一个操作数的求职结果为false,则返回第二个操作数; 3.如果两个操作数都是对象,则返回第一个操作数; 4.如果两个操作数都是null,则返回null; 5.如果两个操作数都是NaN,则返回N原创 2013-08-08 10:24:09 · 639 阅读 · 0 评论 -
javaScript逻辑与操作符运算规则
逻辑与操作可以应用于任何类型的操作数,而不仅仅是布尔值。在有一个操作符不是布尔值的情况下,逻辑与操作就不一定返回布尔值;此时,它遵循下列规则: 1.如果第一个操作数是对象,则返回第二个操作数; 2.如果第二个操作数是对象,则只有在第一个操作数的求值结果为true的情况下才会返回该对象 3.如果两个操作数都是对象,则返回第二个操作数; 4.如果有一个操作数是nu原创 2013-08-08 10:16:46 · 601 阅读 · 0 评论 -
相等操作符运算规则
相等和不相等操作符遵循以下运算规则 1.如果有一个操作数是布尔值,则在比较相等之前先将其转换为数值——false转换为0,而true转换为1; 2.如果一个操作数是字符串,另一个操作数是数值,在比较相等性之前先将字符串转换为数值; 3.如果一个操作数是对象,另一个操作数不是,则调用对象的ValueOf()方法,用得到的基本类型值按照前面的规则进行比较; 注原创 2013-08-08 11:06:34 · 575 阅读 · 0 评论 -
函数声明详解
函数声明如下:function print(msg){ document.write(msg,"");} 从技术上说,function语句并非一个语句。在javaScript程序中,语句会引发动态的行为,但是函数声明描述的静态的程序结构。语句是在运行时执行的,而函数则是在实际运行之前,当代码被解析或者编译时定义的,当解析程序遇到一个函数定义时,它就解析并存储(无需执行)构成原创 2013-08-08 11:36:49 · 559 阅读 · 0 评论 -
javascript 匿名函数的理解(透彻版)
(function(){ //这里忽略jQuery所有实现 })(); (function(){ //这里忽略jQuery所有实现 })(); 半年前初次接触jQuery的时候,我也像其他人一样很兴奋地想看看源码是什么样的。然而,在看到源码的第一眼,我就迷糊了。为什么只有一个匿 名函数又没看到运行(当然是运行了……),就能有jQuery这么个函数库了?于是,我抱着疑问来到CSDN。结果转载 2013-08-08 15:14:06 · 418 阅读 · 0 评论 -
toString函数与valueOf函数详解
1.toString()返回对象的字符串表示(注:只是字符串);而valueOf()返回对象的字符串、数值或布尔值表示(注:是值类型),不一定是数值。原创 2013-08-22 10:22:57 · 1003 阅读 · 0 评论 -
constructor属性详解
constructor属性是个很容易犯错的属性。它的实质是包含在原型中的属性,而该属性是共享的,因此可以通过对象实例访问该属性。原创 2013-08-14 08:35:46 · 926 阅读 · 0 评论 -
关系操作符运算规则
当关系操作符的操作数使用了非数值时,也要进行数据转换,以下就是相应的规则: 1.如果两个操作数都是数值,则执行数值比较; 2.如果两个操作数都是字符串,则比较两个字符串对应的字符编码值; 3.如果一个操作数是数值,则将另一个操作数转换为一个数值,然后执行数值比较,(null可以转换为0); 4.如果一个操作数是对象,则调用这个对象的valueOf()方法,用原创 2013-08-08 10:57:18 · 1813 阅读 · 0 评论 -
学习数组时要注意的地方
要注意的地方: 1.如果数组中某一项的值是null或者undefined,那么改值在join()、toLocaleString()、toString()和valueOf()方法返回的结果中以空字符串表示 如下: var colors=["red",null,"green",undefined,"blue",null];var colors1=Array(10);co原创 2013-08-13 16:30:02 · 648 阅读 · 0 评论 -
strong和b标签在SEO得分上没有明显区别
很多SEOer在编辑文章时,不清楚什么时候用“strong”什么时候用“b” 标签,今天Google的Matt Cutts表示:“strong”和“b” 标签没有明显区别。“strong”和“b” 在都是给文字加粗的意思,Matt Cutts解释到:strong是web标准中xhtml的标签,strong的意思是“强调”;b是html的,b的意思是bold(粗体),它们之间的搜索排名因素并无显转载 2013-10-25 08:22:15 · 538 阅读 · 0 评论