js技巧
<script>
window.onload=function(){
//使用 === 与 == 前面比后面更快
console.log([10]===10);
console.log([10]==10);
console.log("10"===10);
console.log("10"==10);
console.log([]===0);
console.log([]==0);
console.log(‘‘===false);
console.log(‘‘==false);
//undefined null NaN ‘‘ 0 false
console.log(undefined);
console.log(NaN);
if(!!null) console.log(null);
if(!0) console.log(0);
//对象构造器
function person(name,sex){
this.name = name;
this.sex = sex;
}
var p = new person("Jhon","man");
console.log(p);
co nsole.log(p.name);
//typeof constructor instanceof
var arr = [10,2,22];
console.log(typeof arr);
console.log(arr.constructor());
console.log(arr instanceof Array);
console.log(arr instanceof Object);
console.log(arr instanceof String);
//匿名函数
(function (a,b){
return a+b;
})(1,2)
//数组随机数
var arr = [1,2,3,4,5,65];
console.log(arr[Math.floor(Math.random()*arr.length)]);
//制定数的数组
var arr = [];
var max = 10;//位数
for(var i=6;arr.push(i++)<max;);
console.log(arr);
//随机字母数字字符串
function generateRandomAlphaNum(len) {
var rdmString = "";
for( ; rdmString.length < len; rdmString += Math.random().toString(36).substr(2));
return rdmString.substr(0, len);
}
console.log(generateRandomAlphaNum(10));
console.log(Math.random().toString(36));//随机的
//trim 除前后空格
String.prototype.trim=function(){return this.replace(/^\s+|\s+&/g,"")};
//两个数组的组合
var arr1 = [1,2,3,4,5];
var arr2 = [{1:3},0,9,7];
Array.prototype.push.apply(arr1,arr2)
console.log(arr1);
//对象转化成数组???
var argArray = Array.prototype.slice.call(arguments);
//是否是数字
function isNumber(num){
return !isNaN(parseFloat(num))&& isFinite(num);
}
console.log(isNumber(12));
Array.isArray(arr);
//取数组中的最大最小值
var arr=[11,2,3,4,5,6,7,0];
console.log(Math.max.apply(Math,arr));
console.log(Math.min.apply(Math,arr));
//delete remove 都是让数组值变成undefined
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
var items = [12, 548 ,‘a‘ , 2 , 5478 , ‘foo‘ , 8852, , ‘Doe‘ ,2154 , 119 ];
items.length; // return 11
items.splice(3,1) ;
items.length; // return 10
//用length可以截断 数组
var arr = [1,2,3,4,5];
arr.length=2;
console.log(arr);
//循环数组元素
var arr = [1,2,3,4].map(function(val){
return val*val;
});
console.log(arr);
//toFixed(2)保留小数点2位
console.log(2.345789900.toFixed(2));
//小数是有64位小数点组成 可以通过使用toFixed()和toPrecision()来解决这个问题。
console.log(0.1+0.2===0.3); //false
console.log(9007199254740992+1);
//写成这样不会被类似eval转化
setInterval(isNumber,1000);
setTimeout(isNumber,1000);
};
</script>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。