js立即执行函数问题
var MyString = function(str){
this.content = str;
};
var name = new MyString("hanMeimei");
var addr = new MyString("China");
console.log(name.content + " live in " + addr.content);
在该例子中实际上name是window对象里的属性,但是Window对象原来就包含了name的属性,为了避免这样的问题出现,可以采用立即执行函数
(function(){
var name = new MyString("hanMeimei");
console.log(name.content); //正确,输出hanMeimei
})();
我觉得直接这样就行了
function(){
var name = new MyString("hanMeimei");
console.log(name.content); //正确,输出hanMeimei
}
也可以避免上述问题,为什么需要使用立即执行函数
相关推荐
JS动态插入并立即执行回调函数的方法
主要介绍了JS动态插入并立即执行回调函数的方法,实例分析了动态插入js文件及执行回调函数的相关技巧,需要的朋友可以参考下
页面立即执行JS方法[源码]
本文详细介绍了页面进入时立即执行的JS和JQuery方法的多种写法。在JS部分,包括直接写入HTML的body标签、在JS语句中调用以及使用window.onload方法。JQuery部分则对比了JS方法,介绍了$(document).ready()的使用场景和优势,包括加载DOM结构后执行方法、处理多个函数执行以及解决$符号冲突的方法。文章还提到window.onload和$(document).ready()的区别,前者需等待所有资源加载完成,后者仅需DOM结构加载完成即可执行,适合不同场景的需求。
JS 第16章 匿名函数和闭包
JS中的匿名函数和闭包,详细解释了大家的疑惑,提升大家对的JS的进一步的理解!
在JavaScript里防止事件函数高频触发和高频调用的方法
主要介绍了在JavaScript里防止事件函数高频触发和高频调用的方法,本文方法从Underscore.js中摘录而来,需要的朋友可以参考下
浅谈JavaScript函数节流
浏览器中某些计算和处理要比其他的昂贵的多。例如,DOM操作比起非DOM交互需要更多的内存和CPU时间。连续尝试进行过多的DOM相关操作可能会导致 浏览器挂起,有时候甚至会崩溃。尤其在IE中使用onresize事件处理程序的时候容易发生,当调整浏览器大小的时候,该事件连续触发。在 onresize事件处理程序内部如果尝试进行DOM操作,其高频率的更改可能会让浏览器崩溃。 函数节流背后的基本思想是,某些代码不可以在没有间断的情况连续重复执行。第一次调用函数,创建一个定时器,在指定的时间间隔之后运行代码。当第二次调用 该函数时,它会清除前一次的定时器并设置另一个。如果前一个定时器已经执行过


