1 var arr = []; 2 for(var i = 0;i<2;i++){ 3 arr[i]=function(){ 4 console.log(i);//这里由于内部没有定义i,根据函数链它会往上一层寻找最近的作用域下的i 5 } 6 } 7 arr[0](); 8 arr[1](); 上述输出的都是2. 为什么呢?其实上述的操作是给aar数组添加了两个函数,所以自然可以用数组加下标和()执行函数. 易错点是人们常常以为第一个输出的是0,第二个函数输出的是1. 但是由于函数执行是自上而
undefined 以下是错误写法: data = undefined; alert(undefined==false);//这样判断会输出false; if(data!=undefined || data!='' || data!=null || data!="/"){ alert(111); //*会输出111,因为先判断data!=undefined为假后,再开始继续判断data!='' return false; }else{ alert(222); return true;
最近替另一个项目招人,要求基础知识好,随便问了一些基础题,发现了一些易错的点,总结一下. 1.判断一个空数组 var arr = []; 1)JSON.stringify(arr) == "[]" 2)arr instanceof Array && arr.length == 0 3)Array.prototype.isPrototypeOf(arr) && arr.length == 0 测试一个对象是否在另一个对象的原型链上 注意:此处要注意,单纯判
? JS易错知识点总结: == 和 === 的区别: ==:判断两个变量的值是否相等. ===:判断两个变量的类型和值是否都相等,两个条件同时满足时,表达式为True. switch中break的作用: 如果一个case后面的语句,没有写break,那么程序会向下执行,而不会退出: 例如:当满足条件的case 2下面没有break时,case 3也会执行 1 var num = 2; 2 switch(num){ 3 case 1: 4 alert('case 1'); 5 break; 6 c
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [变量的易错] 1.变量为什么要初始化为0 int sum,a=3: sum = sum+a 如果未初始化则会成为一个不确定的变量,结果也会不确定,容易出错. 2.不同类型的变量之间的转换 切记int a=1,b=0:b=1-1.5:其中b为一个整型所有结果是保留整数部分的0,而不是-0.5,又因为0没有正负之分,所有保存结果为b=0: 3.关于Xcode的一个快速注释的插件 快捷键://
今天来给大家分享一下java的重点易错点部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.java中的main方法是静态方法,即方法中的代码是存储在静态存储区的. 2.任何静态代码块都会在main方法之前执行. 3.java程序的初始化顺序:原则:静态优先于非静态,且只初始化一次:父类优先于子类:按照成员定义顺序初始化.例顺序:父类静态变量,父类静态代码块,子类静态变量,子类静态代码块,父类非静态变量,父类非静态代码块,父类构造函数,子类非静态变量,子类非静态代码块,子类构造函数. 4.
1. vertex shader 和 fragment shader 通过varying变量传递数据, 如下代码在编译fragment shader时候会提示编译错误 vertex shader Fragment shader varying vec4 v_color; \n attribute vec3 v_Position; \n attribute vec4 f_Color; \n void main(void) \n { \n gl_Position = vec4(v_Position
用js动态生成css代码 有时候我们需要利用js来动态生成页面上style标签中的css代码,方法很直接,就是直接创建一个style元素,然后设置style元素里面的css代码,最后把它插入到head元素中.但有些兼容性问题我们需要解决.首先在符合w3c标准的浏览器中我们只需要把要插入的css代码作为一个文本节点插入到style元素中即可,而在IE中则需要利用style元素的styleSheet.cssText来解决.还需要注意的就是在有些版本IE中一个页面上style标签数量是有限制的,如果超
在Eclipse中导入项目时js文件报错,解决的方法是关闭eclipse的js校验功能. 1. 选择window->preferences->JavaScript->Validator->Errors/Warning,将Enable JavaScript Sematic validation前面的钩去掉. 打开项目文件中的.project文件,把下面的代码去掉 <buildCommand> <name>org.eclipse.wst.jsdt.core.ja