栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

javascript实用方法总结

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

javascript实用方法总结

引言:

  本章没有深奥的讲解js一些底层原理,比如this指针、作用域、原型啦,涉及的都是一些有利于平时开发时简化代码,提高执行效率,或者说可以当做一种经验方法来使用,篇幅都不长,小步快跑的让你阅读完整篇文章,体验编程的快乐。

 获取两个区间之内随机数

复制代码 代码如下:
function getRandomNum(Min, Max){ // 获取两个区间之内随机数
    // @逆火狂飙  提出有可能第一个参数大于第二个参数,所以增加一下判断更可靠
    if (Min > Max)
    Max = [Min, Min = Max][0]; // 快速交换两个变量值
   
    var Range = Max - Min + 1;
    var Rand = Math.random();
    return Min + Math.floor(Rand * Range);
};

随机返回一个 正/负参数

复制代码 代码如下:
function getRandomXY(num){ // 随机返回一个 正/负参数
    num = new Number(num);
    if (Math.random() <= 0.5)
        num = -num;
    return num;
}

 setInterval()或setTimeOut()计时器函数传参

复制代码 代码如下:
var s = '我是参数';
function fn(args) {
    console.log(args);
}
var a = setInterval(fn(s),100);    // xxxxxx错误xxxxx
var b = setInterval(function(){    // 正确,用匿名函数调用被计时函数
    fn(s);
}, 100);

setInterval()或setTimeOut()计时器递归调用

复制代码 代码如下:
var s = true;
function fn2(a, b){        //  步骤三
    if (s) {
        clearInterval(a);
        clearInterval(b);
    }
};
function fn(a){     //  步骤二
    var b = setInterval(function(){
        fn2(a, b) // 传入两个计时器
    }, 200)
};
var a = setInterval(function(){      //  步骤一
    fn(a); // b代表计时器本身,可座位参数传递
}, 100);

字符串转换为数字

复制代码 代码如下:
// 无需 new Number(String)   也无需 Number(String) 只需字符串减去零即可
var str = '100';  // str: String
var num = str - 0;// num: Number

空值判断

复制代码 代码如下:
var s = '';  // 空字符串
if(!s)         // 空字符串默认转换为布尔false,可以直接写在判断语句里面
if(s != null) // 但是空字符串 != null
if(s != undefined) // 空字符串也 != undefined

IE浏览器parseInt()方法

复制代码 代码如下:
// 下面的转换在IE下为0,其他浏览器则为1,这跟IE浏览器解释数字的进制有关
var iNum = parseInt(01);
// 所以,兼容的写法为
var num = parseInt(new Number(01));

Firebug便捷调试js代码

复制代码 代码如下:
//Firebug内置一个console对象,提供内置方法,用来显示信息

 快速取当前时间毫秒数

复制代码 代码如下:
// t == 当前系统毫秒值,原因:+号运算符会,会调用Date的valueOf()方法。
var t = +new Date(); 

快速取小数整数位

复制代码 代码如下:
// x == 2,以下x值都为2,负数也可转换
var x = 2.00023 | 0;
// x = '2.00023' | 0;

两个变量值互换(不用中间量)

复制代码 代码如下:
var a = 1;
var b = 2;
a = [b, b=a][0]
alert(a+'_'+b)    // 结果 2_1,a和b的值已经互换。

 逻辑或'||'运算符

复制代码 代码如下:
// b不为null:a=b, b为null:a=1。
var a = b || 1;
// 较常见的用法为为一个插件方法传参,和获取事件目标元素:event = event || window.event
// IE有window.event对象,而FF没有。

只有方法对象才有prototype原型属性

复制代码 代码如下:
// 方法有对象原型prototype属性,而原始数据没有该属性,如  var a = 1, a没有prototype属性
function Person() {} // 人的构造函数
Person.prototype.run = function() { alert('run...'); } // 原型run方法
Person.run(); // error
var p1 = new Person(); // 只有在new操作符时,此时才会把原型run方法赋值给p1
p1.run(); // run...

快速获取当天为星期几

复制代码 代码如下:
// 计算系统当前时间是星期几
var week = "今天是:星期" + "日一二三四五六".charat(new date().getDay());

闭包偏见

复制代码 代码如下:

function a(x) {
    function b(){
        alert(x); // 引用外部函数参数
    }
    return b;
}
var run = a('run...');
// 由于作用域的扩大,可以引用到外部函数a的变量并显示
run(); // alert(): run..

获取地址参数字符串和定时刷新

复制代码 代码如下:
// 获取问号?后面的内容,包括问号
var x = window.location.search
// 获取警号#后面的内容,包括#号
var y = window.location.hash
// 配合定时器可实现网页自动刷新
window.location.reload();

Null和Undefined

复制代码 代码如下:

var a;
alert(a === null); // false,因为a不是一个空对象
alert(a === undefined); // true,因为a未初始化,值为undefined
// 引申
alert(null == undefined); // true,因为‘=='运算符会进行类型转换,
// 同理
alert(1 == '1'); // true
alert(0 == false); // true,false转换为Number类型为0

 给方法动态添加参数

复制代码 代码如下:
// 方法a多了一个参数2
function a(x){
    var arg = Array.prototype.push.call(arguments,2);
    alert(arguments[0]+'__'+arguments[1]);
}

自定义SELECT边框样式

复制代码 代码如下:


   

最简单的调色盘

复制代码 代码如下:


函数、对象 is 数组?

复制代码 代码如下:
var anObject = {}; //一个对象
anObject.aProperty = “Property of object”; //对象的一个属性
anObject.aMethod = function(){alert(“Method of object”)}; //对象的一个方法
//主要看下面:
alert(anObject[“aProperty”]); //可以将对象当数组以属性名作为下标来访问属性
anObject[“aMethod”](); //可以将对象当数组以方法名作为下标来调用方法
for( var s in anObject) //遍历对象的所有属性和方法进行迭代化处理
alert(s + ” is a ” + typeof(anObject[s]));
// 同样对于function类型的对象也是一样:
var aFunction = function() {}; //一个函数
aFunction.aProperty = “Property of function”; //函数的一个属性
aFunction.aMethod = function(){alert(“Method of function”)}; //函数的一个方法
//主要看下面:
alert(aFunction[“aProperty”]); //可以将函数当数组以属性名作为下标来访问属性
aFunction[“aMethod”](); //可以将函数当数组以方法名作为下标来调用方法
for( var s in aFunction) //遍历函数的所有属性和方法进行迭代化处理
alert(s + ” is a ” + typeof(aFunction[s]));

复制代码 代码如下:

点击空白处能触发某一元素关闭/隐藏

复制代码 代码如下:

$(document).click(function(e){
    $("目标对象").hide();
});

$("目标对象").click(function(event){
    event = event || window.event;
    event.stopPropagation(); // 当点击目标对象时,及时阻止事件冒泡
    $("目标对象").toggle();
});

以上就是个人总结的一些javascript常用的方法了,希望大家能够喜欢。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/104068.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号