자바스크립트 삭제 사용법 샘플 코드

高洛峰
풀어 주다: 2017-01-20 10:52:05
원래의
1394명이 탐색했습니다.

javascript 삭제 예

var flower={}; 
flower.name="oop"; 
delete flower.name; //true 
alert(flower.name); //undefined
로그인 후 복사

flower라는 개체 만들기
flower에 멤버 이름, 값 "앗"이 있습니다.
삭제 작업으로 이 멤버가 삭제됩니다.
삭제에 성공했으며 더 이상 존재하지 않습니다. flower.name
javascript 삭제 예 2

alert(isNaN(5)); //false 
delete isNaN; //true 
alert(isNaN(5)); //undefined
로그인 후 복사

삭제 연산자는 전역 개체 Global의 멤버도 삭제할 수 있습니다.
var로 선언된 변수는 삭제할 수 없습니다.

var flower="monkey"; 
delete flower; //false 
alert(flower); // "monkey"
로그인 후 복사

var로 선언된 변수, 삭제 후 false를 반환합니다.
참고: 삭제는 삭제할 수 없는 멤버를 삭제할 때만 false를 반환합니다.
즉, 호스트 개체 아래의 변수는 삭제할 수 없습니다. 즉 브라우저 아래

window.flower="monkey"; 
delete flower; //抛出异常 
alert(flower);
로그인 후 복사

ff 브라우저 아래

window.flower="monkey"; 
delete flower; //true 
alert(flower) //undefined
로그인 후 복사

삭제 창의 멤버를 보면 브라우저가 일관되지 않게 동작합니다
창은 자바스크립트의 호스트 개체입니다
호스트 객체는 자바스크립트 실행 환경이 자체적으로 정의되어 있습니다
IE6-8 브라우저에서는 window.flower를 삭제할 수 없습니다. 브라우저에서는 "해당 객체가 이 작업을 지원하지 않습니다"라는 메시지가 표시됩니다.
함수를 사용하여 삭제할 수 없습니다.

function flower(){} 
delete flower; //true 
alert(flower);//undefined
로그인 후 복사

라는 이름으로 선언된 함수는 삭제가 불가능합니다. 함수 이름으로 선언된 함수는 삭제할 수 없습니다.
상속된 멤버는 삭제할 수 없습니다. 프로토타입에서

function flower(){}; 
flower.prototype.name="monkey"; 
var a1=new flower(); 
a1.name="a1_monkey" 
alert(a1.name);//"a1_monkey" 
delete a1.name;//ture 
alert(a1.name);//"monkey"
로그인 후 복사

A1은 flower의 인스턴스이고 프로토타입은 인스턴스를 통해 삭제되며 상위 클래스의 멤버는 불가능합니다~
이 속성을 삭제해야 하는 경우("here, take name 예를 들어") 프로토타입만 조작할 수 있습니다.
delete a1.constructor.prototype.name;
DontDelete 속성 삭제는 DontDelete 속성이 있는 멤버를 삭제할 수 없습니다.
그럼 DontDelete 속성이 있는 멤버는 무엇인가요?
예를 들어 var로 선언된 변수, 함수 이름으로 선언된 함수, Function 객체의 길이 등은 DontDelete 속성을 갖는 경우가 거의 없습니다.
delete 반환 값 false 또는 true
delete는 false만 반환합니다. 삭제할 수 없는 멤버 삭제 시
그 외 존재하지 않는 멤버를 삭제하거나 삭제에 성공해도 true를 반환합니다
즉, true를 반환한다고 해서 반드시 삭제가 성공한 것은 아닙니다
예: 코드 실행 경고(삭제 a); // true
a는 선언되지 않은 존재하지 않는 변수입니다. delete는 여전히 true를 반환합니다.
다른 브라우저 간의 차이점

(function(){ 
delete arguments; // false ,而在Mozilla中返回的是true 
typeof arguments; // "object" 
})();
로그인 후 복사

영리하게 eval을 사용하여 var가 선언한 변수를 삭제합니다.

eval('var flower = 1'); 
alert(window.flower) //1 
alert(flower)// 1 
delete flower; // true 
alert(flower); // "undefined" 
var a=function(){}; 
eval('var a = function(){}'); 
delete a; // true 
alert(a); // "undefined"
로그인 후 복사

eval 이후 전역 변수를 사용할 수 없게 됩니다. DontDelete 기능, eval을 사용하여 다음을 수행할 수 있습니다. delete;
드디어 마법 같은 기능을 추가했습니다 ~ 잠자리에 들기 전에 테스트했습니다
window.flower=1
꽃을 삭제할 때 개체는 이 작업을 지원하지 않습니다
(window)와 함께 사용할 수 있습니다. flower=1}; 그런 다음 꽃을 삭제합니다(window.flower를 삭제하는 것이 아니라 flower를 삭제한다는 점을 기억하세요. IE에서는 이를 허용하지 않습니다)
이렇게 하면 window.flower가 삭제됩니다.)

더 보기 여러 자바스크립트 삭제 사용법 샘플 코드와 관련된 기사는 PHP 중국어 웹사이트를 주목하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!