jS的一些另类写法

1.Function构造函数

一般来说函数不能直接用内置对象的构造函数来创建基本变量,但是Function构造函数却可以,Function有两个参数,参数1:需要的参数名,参数2: 函数语句.举个列子:
var func = new Function ("whatever", "console.log(whatever)");
func("今儿周五");
打印出的结果就是: 今儿周五
相当于以下代码:
function func (whatever) {
   console.log(whatever);
}
func("今儿周五")

2.~~按位非

相当于parseInt取整,属于二进制操作
console.log(~~3.94);
打印结果是4

3.强制转化为布尔类型

通过两个取反,可以强制转换为Boolean类型,即!! ,这个写法可以代替if-else,举个例子:
var b = !!"aaaa";
console.log(b);
打印结果是true,一个!打印结果是false,aaa可以写成别的什么都行

4.随机颜色

var body = document.querySelector("body");
var color = (~~(Math.random()*(1<<24))).toString(16);
body.style.backgroundColor = "#"+color;
每次刷新页面,页面颜色都会刷新(慢点刷新很晃眼的)

5.直接执行函数

(function () {
    console.log("hello,world");
})();
打印结果是:hello,world
(function (argu) {
    console.log(argu);
})("好使吗")
打印结果是:好使吗

6.函数作为返回值

即闭包函数
function f () {
    return function  () {
            console.log(666);
        }
}
var v = f();
console.log(v);
打印结果为:666
辛苦劳作 转载请注明出处 O(∩_∩)O

你可能感兴趣的:(jS的一些另类写法)