1.console
console.log()可以取代alert()或document.write(),在网页脚本中使用console.log()时,会在浏览器控制台打印出信息。
console.dir()可以显示一个对象所有的属性和方法。
console.dirxml()用来显示网页的某个节点(node)所包含的html/xml代码。
console.trace();函数是如何被调用的,在其中加入console.trace()方法就可以了
console.time()和console.timeEnd(),用来显示代码的运行时间。
2.使用“===”代替”==”,即全等代替等等。
原因:==和=!操作符存在隐式转换,导致”==“速度要慢,尽量能用全等就用全等。
面试题:console.log([] == false);输出什么。输出true,两边隐式转换转成了(0==0);
console.log([]===false)输出false
3.使用对象构造器
function student(firstName,lastName){
this.firstName = firstName;
this.lastName = lastName;
}
4.获取指定范围内的随机数
var x = Math.floor(Math.random() * (max - min + 1)) + min;
5.字符串去空格
String.prototype.trim = function(){return this.replace(/^\s+|\s+$/g,"");};
6.不要直接从数组中delete或remove元素
如果对数组元素直接使用delete,其实并没有删除,只是将元素置为了undefined。数组元素删除应使用splice。
var arr=["1","2","3","4"]
arr.splice(2,1)
arr=["1", "2", "4"]
var arr=["1","2","3","4"]
arr.splice(2,1,5)
arr=["1", "2", 5, "4"]
arr.splice(n, m, val1, val2, ...)
是一个功能强大的数组操作方法,它根据提供参数不同可以实现不同的效果。
如果只提供 n 和 m,splice() 会将原数组中索引值为 n(包含) 及其之后的数组元素合计 m 个取出组装成新数组返回;
如果只提供 n 一个参数的话,splice() 会将从索引值为 n(包含) 及其之后所有的数组元素取出组装成新数组返回;
如果在提供 n 和 m 的基础上再提供多个数据,则原数组在取出一个或多个元素之后将会在其之后依次插入这些数据
7.保留指定小数位数
var n=3.1415926
n.toFixed(5)//"3.14159"
8.用JSON来序列化与反序列化
JSON.stringify //转化为字符串
JSON.parse //转化为对象
9.数组尽量使用普通for循环
var arr=["1","2","3","4"];
for(var i=0;i<=arr.length;i++ ){
}
10.使用switch/case代替一大叠的if/else
11.不要在循环内部使用try-catch-finally
try-catch-finally中catch部分在执行时会将异常赋给一个变量,这个变量会被构建成一个运行时作用域内的新的变量。
var object = ['foo', 'bar'], i;
try {
for (i = 0, len = object.length; i <len; i++) {
// do something that throws an exception
}
}
catch (e) {
// handle exception
}
重置jsp表单数据
$(':input','#myform')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');