備忘錄_20160105(定位)
修改
回首頁
程式 2020-05-27 05:17:24 1590527844 100
建立自己的 JavaScript 函式庫
建立自己的 JavaScript 函式庫
<script>
;
(
function(global)
{
function myLibrary()
{
var out1=33;
var _obj1=
{
in1: 26,
arrowFunc: (para1, para2) => { console.log(this, para1, para2); }, // 箭頭函數, this == window
standardFunc: function(para1, para2) { console.log(this, para1, para2); }, // 標準函數, this == object
shortFunc(para1, para2) { console.log(para1, para2, this.in1, this.in2, out1); }, // 函數名稱縮短
};
_obj1.in2=99;
_obj1.appendArrowFunc = (para1, para2)=>{ console.log(this, para1, para2); } // 附加箭頭函數到物件上, this == window
_obj1.appendStandardFunc = function(para1, para2) { console.log(this, para1, para2, this.in1, this.in2, out1); } // 附加標準函數到物件上, this == object
_obj1.whoIsGlobal = function() { console.log(global); } // 傳進來的參數是 window ,所以此處的 global 是 window
return _obj1;
}
if(typeof(global.jj)==='undefined') { global.jj=myLibrary(); }
else { console.log("名稱已被註冊,jj函式庫初始化失敗!"); }
}
)(window);
</script>
<script>
jj.arrowFunc("arr1","arr2");
jj.standardFunc("std1","std2");
jj.shortFunc("short1","short2");
jj.appendArrowFunc("appendArr1","appendArr2");
jj.appendStandardFunc("appendStd1","appendStd2");
jj.whoIsGlobal();
// 04:59:35.614 Window...... arr1 arr2
// 04:59:35.616 Object...... std1 std2
// 04:59:35.617 short1 short2 26 99 33
// 04:59:35.617 Window...... appendArr1 appendArr2
// 04:59:35.618 Object...... appendStd1 appendStd2 26 99 33
// 04:59:35.619 Window......
</script>