生成m~n范围的随机整数

js没有直接生成特定范围数值的函数,只提供了一个Math.random(),能生成0~1之间的伪随机浮点数(取不到1),利用该函数即可生成任意范围的随机数

function getRandom(floor, ceil) {
    return parseInt(Math.random() * (ceil - floor + 1) + floor)
}

关闭标签页时提醒

很常见的功能,需要绑定beforeunload事件。这个事件和普通的事件不同,它的返回值另有作用,使用场景主要是防止用户不小心关闭浏览器而丢失正在编辑的内容,所以其功能就是弹出一个关闭页面的警告。该事件不需要用confirm来发起询问,只要在返回值中写入询问对话框的字符

window.onbeforeunload = function () {
    return "您输入的内容尚未保存";
};

但在提交表单保存时仍然会进行提示,这是不必要的,直接在表单提交函数里重写onbeforeunload即可

window.onbeforeunload = null;

使用closure模式构造对象

同样是get_name()方法,closure模式更快

prototype模式

var X = function(name){ this.name = name; }
X.prototype.get_name = function() { return this.name; };

closure模式:

var Y = function(name) {
    var y = { name: name };
    return { 'get_name': function() { return y.name; } };
};

quietin
761 声望44 粉丝

兴趣在程序语言, 高性能, 分布式等方面