做seo网站营销推广,南宁建设职业技术学院招聘信息网站,防恶意点击软件,如何做高端网站1、首次为变量赋值时务必使用var关键字变量没有声明而直接赋值得话#xff0c;默认会作为一个新的全局变量#xff0c;要尽量避免使用全局变量。2、使用取代和!操作符会在需要的情况下自动转换数据类型。但和!不会#xff0c;它们会同时比较值和数据类型#xff0c;这也使得…1、首次为变量赋值时务必使用var关键字 变量没有声明而直接赋值得话默认会作为一个新的全局变量要尽量避免使用全局变量。 2、使用取代 和!操作符会在需要的情况下自动转换数据类型。但和!不会它们会同时比较值和数据类型这也使得它们要比和!快。 [10] 10 // is false [10] 10 // is true 10 10 // is true 10 10 // is false [] 0 // is true [] 0 // is false false // is true but true a is false false // is false 3、使用对象构造器 function Person(firstName, lastName){ this.firstName firstName; this.lastName lastName; } var Saad new Person(Saad, Mousliki); 4、从数组中随机获取成员 var items [12, 548 , a , 2 , 5478 , foo , 8852, , Doe , 2145 , 119]; var randomItem items[Math.floor(Math.random() * items.length)]; 5、获取指定范围内的随机数 这个功能在生成测试用的假数据时特别有数比如介与指定范围内的工资数。 var x Math.floor(Math.random() * (max - min 1)) min; 6、生成从0到指定值的数字数组 var numbersArray [] , max 100; for( var i1; numbersArray.push(i) max;); // numbers [1,2,3 ... 100] 7、生成随机的字母数字字符串 function generateRandomAlphaNum(len) { var rdmString ; for( ; rdmString.length len; rdmString Math.random().toString(36).substr(2)); return rdmString.substr(0, len); } 8、数组之间追加 var array1 [12 , foo , {name Joe} , -2458]; var array2 [Doe , 555 , 100]; Array.prototype.push.apply(array1, array2); /* array1 值为 [12 , foo , {name Joe} , -2458 , Doe , 555 , 100] */ 9、对象转换为数组 var argArray Array.prototype.slice.call(arguments); 10、获取数组中的最大值和最小值 var numbers [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411]; var maxInNumbers Math.max.apply(Math, numbers); var minInNumbers Math.min.apply(Math, numbers); 11、清空数组 var myArray [12 , 222 , 1000 ]; myArray.length 0; // myArray will be equal to []. 12、不要直接从数组中delete或remove元素 如果对数组元素直接使用delete其实并没有删除只是将元素置为了undefined。数组元素删除应使用splice。 切忌 var items [12, 548 ,a , 2 , 5478 , foo , 8852, , Doe ,2154 , 119 ]; items.length; // return 11 delete items[3]; // return true items.length; // return 11 /* items 结果为 [12, 548, a, undefined × 1, 5478, foo, 8852, undefined × 1, Doe, 2154, 119] */ 而应 var items [12, 548 ,a , 2 , 5478 , foo , 8852, , Doe ,2154 , 119 ]; items.length; // return 11 items.splice(3,1) ; items.length; // return 10 /* items 结果为 [12, 548, a, 5478, foo, 8852, undefined × 1, Doe, 2154, 119] 删除对象的属性时可以使用delete。 13、使用length属性截断数组 前面的例子中用length属性清空数组同样还可用它来截断数组 var myArray [12 , 222 , 1000 , 124 , 98 , 10 ]; myArray.length 4; // myArray will be equal to [12 , 222 , 1000 , 124]. 与此同时如果把length属性变大数组的长度值变会增加会使用undefined来作为新的元素填充。length是一个可写的属性。 myArray.length 10; // the new array length is 10 myArray[myArray.length - 1] ; // undefined 14、在条件中使用逻辑与或 var foo 10; foo 10 doSomething(); // is the same thing as if (foo 10) doSomething(); foo 5 || doSomething(); // is the same thing as if (foo ! 5) doSomething(); 逻辑或还可用来设置默认值比如函数参数的默认值。 function doSomething(arg1){ arg1 arg1 || 10; // arg1 will have 10 as a default value if it’s not already set } 15、保留指定小数位数 var num 2.443242342; num num.toFixed(4); // num will be equal to 2.4432 注意toFixec()返回的是字符串不是数字。 16、浮点计算的问题 0.1 0.2 0.3 // is false 9007199254740992 1 // is equal to 9007199254740992 9007199254740992 2 // is equal to 9007199254740994 为什么呢因为0.10.2等于0.30000000000000004。JavaScript的数字都遵循IEEE 754标准构建在内部都是64位浮点小数表示具体可以参见JavaScript中的数字是如何编码的. 可以通过使用toFixed()和toPrecision()来解决这个问题。 转载于:https://www.cnblogs.com/cmderq/p/9130911.html