[英]JavaScript __proto__ will affect the original function in the Object?
[英]JavaScript function to edit original object
用JavaScript有什么辦法可以編寫類似以下的函數:
var a = "Hello"
function change(variable, value) {
//Code that edits original variable, not the variable argument
}
alert(a)
change(a, "World!");
alert(a);
這將首先輸出“ Hello”,然后輸出“ World!”。 有什么辦法可以寫這樣的函數嗎?
否,但是更接近的選擇是將a
視為JS對象:
var a = { value : "Hello" };
function change(variable, value) {
//I'll let you work this part out
}
alert(a.value);
change(a, "World!");
alert(a.value);
這是通過使用JavaScript閉包來實現的;
var obj = (function() {
var x = 'hello';
return {
get: function() {
return x;
},
set: function(v) {
x = v; }
}
})();
obj.get(); // hello
obj.set('world');
obj.get(); // world
您只能使用get和set函數來更改變量的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.