工作经验中总结的JavaScript使用技巧

转载 (原文地址) 1130331201 随笔 JS 329阅读 2018-02-05 14:29:08 举报

1、删除前后空格 String.prototype.trim = function () { return this.replace(/(^[ | ])|([ | ]$)/g, ""); }

2、把 document.getElementById(id) 转换成 $("id")

function $(id) { return typeof (id) == 'string' ? document.getElementById(id) : id }

3、document.getElementsByTagName('*').length 查看页面有多少个 Dom 元素;

4、parseInt() 只会返回整数部分;一个完整的parseInt应该是这样的:parseInt(string, radix),其中radix指定数字的进制(十进制,二进制,十六进制etc.) parseInt("f",16): 15 把加号放在包含合法数字的字符串前面会将字符串转化为数字;Null 用成数字时会表现为0,做布尔时表现为false.声明一个变量但没有赋值,此时这个变量的值为undefined. Undefined用作数字时类型表现为NaN, 用作布尔时表现为false.

5、按照 json 的属性值排序
var cc=[
{ name: "a", age: 30},
{ name: "c", age: 24},
{ name: "b", age: 28},
{ name: "e", age: 18},
{ name: "d", age: 38}
].sort(function(obj1, obj2) {
return obj1.age - obj2.age;
});
for(var i=0;i<cc.length;i++){
alert(cc[i]['age']); //依次显示 18,24,28,30,38
}

6、合并数组:
var mergeTo = [4,5,6];
var mergeFrom = [7,8,9];
Array.prototype.push.apply(mergeTo, mergeFrom);
mergeTo; // is: [4, 5, 6, 7, 8, 9]

7、多点击事件获取点击的是哪个
$('#IndexLink,#IndexLink1').on('click', function (e) {
var id=e.target.id;
//id 取到的就是被点击的ID值
}

8、再JavaScript中下面做法会声明全局变量
在function外使用声明变量(无论是否使用var) ;
在function内不是用var 声明变量 ;
直接赋值于window属性;

9、window.history.forward(1); 阻止页面后退;

10、 JS call 与aplly 用法
function Person(name, age) {
this.name = name;
this.age = age;
};

function Student(name, age, grade) {
Person.apply(this, arguments);
this.grade = grade;
};
var student = new Student('qian', 21, '一年级');
alert('name:' + student.name + '\n' + 'age:' + student.age + '\n' + 'grade:' + student.grade);

//也就是通俗一点讲就是:用student去执行Person这个类里面的内容,在Person这个类里面存在this.name等之类的语句,
//这样就将属性创建到了student对象里面。

11、页面到底部自动加载内容:
var divH = document.body.scrollHeight,top = document.body.scrollTop,windowH = window.screen.availHeight;
if ((top + windowH) >divH) {
console.log('该他妈的加载内容了。');
}
console.log('网页正文全文高:' + document.body.scrollHeight + ' 网页被卷去的高: ' + document.body.scrollTop + ' 屏幕可用工作区高度:' + window.screen.availHeight);

评论 ( 1 )
最新评论
15038927731 2018-07-20 13:38:29 1F

合并数组可以是 a.concat(b) 更简单