码迷,mamicode.com
首页 > 编程语言 > 详细

javascript小技巧

时间:2017-02-20 13:29:08      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:tostring   函数   解析   set   rip   array   经典   var   有用   

1、如何识别一个数据类型是否是对象(someData):

(1)someData typeof ‘object‘ console.log({} typeof ‘object‘) // true console.log([] typeof ‘object‘) // true console.log(null typeof ‘object‘) // true 通过typeof无法识别一个数据是否是对象

(2)Object.prototype.toString.call(someData) === “[object Object]” console.log(Object.prototype.toString.call(obj)); //[object Object] console.log(Object.prototype.toString.call(arr)); //[object Array] console.log(Object.prototype.toString.call(null)); //[object Null]

2、一个简单的全局变量‘坑’

(function (){var a = b =3})() console.log(a)// undefined console.log(b)//3 上述解析中b是全局变量,a是局部变量

3、将 JavaScript 代码包含在一个函数块中有神马意思呢?为什么要这么做?

换句话说,为什么要用立即执行函数表达式(Immediately-Invoked Function Expression)。

IIFE 有两个比较经典的使用场景,一是类似于在循环中定时输出数据项,二是类似于 JQuery/Node 的插件和模块开发。

for(var i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }, 1000); } 上面的输出并不是你以为的0,1,2,3,4,而输出的全部是5,

这时 IIFE 就能有用了: for(var i = 0; i < 5; i++) { (function(i) { setTimeout(function() { console.log(i); }, 1000); })(i) }

而在 JQuery/Node 的插件和模块开发中,为避免变量污染,也是一个大大的 IIFE: (function($) { //代码 } )(jQuery);

javascript小技巧

标签:tostring   函数   解析   set   rip   array   经典   var   有用   

原文地址:http://www.cnblogs.com/fqlGlog/p/6418812.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!