당신은 어떤 객체 속성에 대한 포인터를 보유하고 변수를 설정할 수 있습니다 당신이 그것을 사용해야하는 경우
var gEBTN = document.getElementsByTagName;
var gEBI = document.getElementById;
, 당신은 gETBN('div')...
를 입력 할 필요를 또는 gEBI('elementId')...
귀하의 경우 :
function changeIt() {
var ge = document.getElementsByTagName;
ge('div')[0].innerHTML = 'Changed';
}
여러 후크 체인을 입력 긴 명령을 피하기 이의를 제기 할 수 있으며, aswell의 값을 변경 (결과를 볼 수있는 JS 콘솔에 아래의 발췌를 입력) 할 수 있습니다
을 INSIDE 변경 SAME SCOPE
var originalObject = {
deepProperty: {
deepDeepProperty: {
someNumber: 0,
anotherNumber: 0,
someString: 'String',
anotherString: 'String',
someArray: ['a', 'b'],
anotherArray: ['a', 'b']
}
}
};
var hookA = originalObject.deepProperty;
var hookB = originalObject.deepProperty.deepDeepProperty;
hookA.siblingProperty = hookA;
hookB.someNumber = 1;
hookB.anotherNumber++;
hookB.someString = 'Strong';
hookB.anotherString.replace(/i/, 'o');
hookB.someArray = ['b', 'c'];
hookB.anotherArray.shift();
hookB.anotherArray.push('c');
console.log(originalObject);
console.log(hookA);
console.log(hookB);
console.log(hookA === originalObject.deepProperty);
console.log(hookB === originalObject.deepProperty.deepDeepProperty);
ON ONE 변화 FUNCTION
var originalObject = {
deepProperty: {
deepDeepProperty: {
someNumber: 0,
anotherNumber: 0,
someString: 'String',
anotherString: 'String',
someArray: ['a', 'b'],
anotherArray: ['a', 'b']
}
}
};
function changeOriginalObject(obj) {
var hookA = obj.deepProperty;
var hookB = obj.deepProperty.deepDeepProperty;
hookA.siblingProperty = hookA;
hookB.someNumber = 1;
hookB.anotherNumber++;
hookB.someString = 'Strong';
hookB.anotherString.replace(/i/, 'o');
hookB.someArray = [
'b',
'c'
];
hookB.anotherArray.shift();
hookB.anotherArray.push('c');
}
console.log(originalObject);
changeOriginalObject(originalObject);
console.log(originalObject);
내가 찾고있는 것이 맞습니다! 당신이 나를 도우려는 위대한, 두 번째 시간! 감사. –
['Function.prototype.bind'] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bind)는 ECMAScript 5 (JavaScript 1.8.5) 이후에만 사용할 수 있습니다. – Gumbo