1.循环
for:基础循环,常用来便利连续数组和字符串;
for in:可以遍历对象,数组和字符串;遍历可枚举属性,还会依次迭代去遍历原型链上的属性,数组的序号其实相当于数组元素的属性,遍历的顺序不定。
forEach:数组上的方法,不能break和return退出循环,遍历属性名可数字的属性,按索引顺序遍历,不去搜索原型链上的属性;
for of:es6新加的,没用过,说是挺好的
2.去除空格
String.prototype.trim=function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.ltrim=function(){
return this.replace(/(^\s*)/g,"");
}
String.prototype.rtrim=function(){
return this.replace(/(\s*$)/g,"");
}
3.placeholder:ie9及以下不兼容
'placeholder' in document.createElement('input');
'placeholder' in document.createElement('textarea');
可以用placeholder插件或自己写方法
4.maxlength:ie9及以下不兼容
ie9:可以写oninput事件
ie8:onpropertychange 可以试一下,当时我是ie10下报堆栈溢出,可能触发太快造成死循环了,oninput不会有这个问题。
也可以尝试用下keyup、keydown、但这是回显再删除,效果不大好
5.textarea
a、之前可能textarea中间有空格导致一点问题
b、页面初始化textarea会把placeholder放在值的位置上<textarea placeholder="aaa">aaa</textarea>,这时候取这个html弹框出来,在ie10下textarea的value的值就变成了aaa
网友评论