#Asc

JavaScript中in操作符(for..in)、Object.keys()和Object.getOwnPropertyNames()的区别

  ECMAScript将对象的属性分为两种:数据属性和访问器属性。每一种属性内部都有一些特性,这里我们只关注对象属性的[[Enumerable]]特征,它表示是否通过for-in循环返回属性,也可以理解为:是否可枚举。然后根据具体的上下文环境的不同,我们又可以将属性分为:原型属性和实例属性。原型属性是定义在对象的原型...

JavaScript 中的不可变对象(Immutable Objects)

  默认情况下,JavaScript中的对象是可变的。我们可以更改原始值(字符串,数字等)和对象。我们来看看这个对象:letobj={num:10,obj:{content:"mutableobject"}}  你可以轻松地改变它:obj.num=5;obj.obj={content:"changed!"}consol...

深入理解JavaScript模拟私有成员

  一般的面向对象语言C++或JAVA,对象都是有私有成员的。js中没有类的改变,同样也没有对象的私有成员这个概念。但是可以通过某些特殊写法,模拟出私有成员。1、特权模式:  (1)在构造函数内部声明的变量、子函数以及参数,全部都是函数私有的,可以看作私有成员。给this指针添加的闭包,全部都是公有成员。  所以下面例...

高性能WEB开发:Javascript自身执行效率

  Javascript中的作用域链、闭包、原型继承、eval等特性,在提供各种神奇功能的同时也带来了各种效率问题,用之不慎就会导致执行效率低下。1、全局导入  我们在编码过程中多多少少会使用到一些全局变量(window、document、自定义全局变量等等),了解javascript作用域链的人都知道,在局部作用域中...

JavaScript性能优化小知识总结

  一直在学习javascript,也有看过《犀利开发Jquery内核详解与实践》,对这本书的评价只有两个字犀利,可能是对javascript理解的还不够透彻异或是自己太笨,更多的是自己不擅于思考懒得思考以至于里面说的一些精髓都没有太深入的理解。鉴于想让自己有一个提升,进入一个更加广阔的天地,总得找一个属于自己的居所好...

JavaScript逻辑and、or、not运算符详解

一、AND详解:  在JavaScript中,逻辑AND运算符用双和号(&&)表示。  需要说明的是:逻辑AND运算的运算数可以是任何类型的,不止是Boolean值,如果某个运算数不是原始的Boolean型值,逻辑AND运算并不一定返回Boolean值。  逻辑AND运算符的运算行为如下:如果一个运算数...

JavaScript判断数据类型总结

  最近做项目中遇到了一些关于javascript数据类型的判断处理,上网找了一下资料,并且亲自验证了各种数据类型的判断,在此做一个总结吧!一、JS中的数据类型   1.数值型(Number):包括整数、浮点数。  2.布尔型(Boolean)  3.字符串型(String)  4.对象(Object)  5...

JavaScript事件代理和事件委托

一、概述:  那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们讲事件委托基本上都用了同一个例子,就是取快递来解释这个现象,我仔细揣摩了一下,这个例子还真是恰当,我就不去想...

JavaScript事件冒泡机制和阻止事件冒泡及默认事件

一、阻止事件冒泡:  1、html中加returnfalse  2、js中加returnfalse  3、IE下:window.event.cancelBubble=true;    FF下:event.stopPropagation();//阻止事件冒泡函数functionstopBubble(evt){ ...

JavaScript数组与字符串常用方法总结

先来一段代码引子:varstr='helloworld';alert(str.charAt(1));//通过下标查找值;alert(str.indexOf('w',3));//通过值查找字符串下标;没有找到返回-1;有两个参数(第二个参数可以没有,有的话是从这里开始查找);alert(str.charCodeAt('w...

JavaScript之深浅拷贝

数组的浅拷贝  如果是数组,我们可以利用数组的一些方法比如:slice、concat返回一个新数组的特性来实现拷贝。比如:vararr=['old',1,true,null,undefined];varnew_arr=arr.concat();new_arr[0]='new';console.log(arr)//["o...
代码星球 代码星球·2020-06-27

JavaScript快速检测浏览器对CSS3特性的支持情况

  项目中使用动画效果在IE9下不支持,所以写了个判断浏览器是否支持动画的函数,进而扩展到下面判断浏览器支持任一特定CSS3属性的函数。functionsupportAnimation(){vardomPrefixes='webkitMozomsKhtml'.split(''),len=domPrefixes.leng...

理解JavaScript里this关键字

1、全局代码中的this:始终指向window2、函数代码中的this:varfoo={x:10};varbar={x:20,test:function(){alert(this===bar);alert(this.x);}};bar.test();//bar对象调用test():true,20foo.test=bar...

JavaScript中将html字符串转化为Jquery对象或者Dom对象

实例代码:$('<ahref="javascript:void(0);"onclick="showUI(this,"4028f65d5d1bb627015d1c297ecf0006")"title="查看详细信息">就是上次</a>').text()//结果:就是上次$($.currentIfr...

理解JavaScript私有作用域

私有作用域:跟外界的变量方法毫不冲突,豪无关系varstr="javascript";(function(){alert(str);//undefinedvarstr="helloworld";alert(str);//helloworld})();alert(str);//javascript语法解析:函数自执行里面...
首页上一页...6162636465...下一页尾页