如何在JavaScript中声明名称空间?如何在JavaScript中创建名称空间,使我的对象和函数不会被其他同名对象和函数覆盖?我使用了以下方法:if (Foo == null || typeof(Foo) != "object") { var Foo = new Object();}有没有一种更优雅或简洁的方法来做到这一点?
4 回答
holdtom
TA贡献1805条经验 获得超10个赞
(function( skillet, $, undefined ) {
//Private Property
var isHot = true;
//Public Property
skillet.ingredient = "Bacon Strips";
//Public Method
skillet.fry = function() {
var oliveOil;
addItem( "\t\n Butter \n\t" );
addItem( oliveOil );
console.log( "Frying " + skillet.ingredient );
};
//Private Method
function addItem( item ) {
if ( item !== undefined ) {
console.log( "Adding " + $.trim(item) );
}
}}( window.skillet = window.skillet || {}, jQuery ));skillet.fry()skillet.ingredients.
//Adding new Functionality to the skillet(function( skillet, $, undefined ) {
//Private Property
var amountOfGrease = "1 Cup";
//Public Method
skillet.toString = function() {
console.log( skillet.quantity + " " +
skillet.ingredient + " & " +
amountOfGrease + " of Grease" );
console.log( isHot ? "Hot" : "Cold" );
};}( window.skillet = window.skillet || {}, jQuery ));第三 undefined论辩
第三, undefined参数是值变量的来源。 undefined..我不确定它现在是否仍然相关,但是在使用旧的浏览器/JavaScript标准(ECMAScript 5,javascript<1.8.5~Firefox 4)时,全局范围变量。 undefined是可写的,所以任何人都可以重写它的值。第三个参数(未传递值时)创建一个名为 undefined它的作用域为名称空间/函数。因为在创建名称空间时没有传递值,所以它默认为值。 undefined.
添加回答
举报
0/150
提交
取消
