웹 프론트엔드 JS 튜토리얼 자바스크립트 삭제 사용법 샘플 코드

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

Jan 20, 2017 am 10:52 AM

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 중국어 웹사이트를 주목하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

JavaScript로 문자열 문자를 교체하십시오 JavaScript로 문자열 문자를 교체하십시오 Mar 11, 2025 am 12:07 AM

JavaScript로 문자열 문자를 교체하십시오

사용자 정의 Google 검색 API 설정 자습서 사용자 정의 Google 검색 API 설정 자습서 Mar 04, 2025 am 01:06 AM

사용자 정의 Google 검색 API 설정 자습서

예제 색상 JSON 파일 예제 색상 JSON 파일 Mar 03, 2025 am 12:35 AM

예제 색상 JSON 파일

10 JQuery Syntax Highlighter 10 JQuery Syntax Highlighter Mar 02, 2025 am 12:32 AM

10 JQuery Syntax Highlighter

8 멋진 jQuery 페이지 레이아웃 플러그인 8 멋진 jQuery 페이지 레이아웃 플러그인 Mar 06, 2025 am 12:48 AM

8 멋진 jQuery 페이지 레이아웃 플러그인

자신의 Ajax 웹 응용 프로그램을 구축하십시오 자신의 Ajax 웹 응용 프로그램을 구축하십시오 Mar 09, 2025 am 12:11 AM

자신의 Ajax 웹 응용 프로그램을 구축하십시오

' this ' 자바 스크립트로? ' this ' 자바 스크립트로? Mar 04, 2025 am 01:15 AM

' this ' 자바 스크립트로?

10 JavaScript & JQuery MVC 자습서 10 JavaScript & JQuery MVC 자습서 Mar 02, 2025 am 01:16 AM

10 JavaScript & JQuery MVC 자습서

See all articles