>  기사  >  웹 프론트엔드  >  javascript 삭제 사용법 샘플 코드_기본 지식

javascript 삭제 사용법 샘플 코드_기본 지식

WBOY
WBOY원래의
2016-05-16 18:31:14936검색

javascript 삭제 예시

코드 복사 코드는 다음과 같습니다.

var flower={};
flower.name="oop";
delete flower.name; //true
alert(flower.name); //정의되지 않음

flower
Flower에 값이 "oop"인 멤버 이름이 있습니다.
삭제 작업으로 이 멤버가 삭제됩니다.
삭제가 완료되었으며 flower.name 멤버가 더 이상 존재하지 않습니다.
javascript 삭제 예 2
코드 복사 코드는 다음과 같습니다.

alert(isNaN(5)) //false
delete isNaN; //true
alert(isNaN(5)); //정의되지 않음

삭제 연산자는 전역 개체의 멤버도 삭제할 수 있습니다.
은 var에 의해 선언된 변수를 삭제할 수 없습니다.
코드 복사 코드는 다음과 같습니다.

var flower="monkey"; >delete flower; //false
alert( flower); // "monkey"

var로 선언된 변수는 삭제 후에도 false를 반환합니다.
참고: 삭제는 삭제할 수 없는 구성원만 삭제합니다. 예, false를 반환합니다.
호스트 개체 아래의 변수는 IE 브라우저에서 삭제할 수 없습니다.

코드 복사 코드는 다음과 같습니다.
window.flower="monkey";
delete flower; //예외 발생
alert(flower) ;

ff에서 찾아보기

window.flower="monkey";
delete flower; //true
alert(flower) //undefine


멤버를 볼 수 있을 때 삭제 창에서 브라우저가 일관되지 않게 동작합니다
Window는 javascript의 호스트 객체입니다
호스트 객체는 JavaScript 실행 환경에 의해 정의될 수 있습니다
IE6-8 브라우저에서는 window.flower를 삭제할 수 없습니다. 브라우저는 "해당 개체가 이 작업을 지원하지 않습니다"라는 메시지를 표시합니다. 즉, window 아래의 멤버는 삭제할 수 없습니다.
함수 이름으로 선언된 함수는 삭제할 수 없습니다


function flower( ){}
delete flower //true
alert(flower; );//undefine


결과는 delete가 함수 이름
으로 선언된 함수를 삭제할 수 없다는 것을 보여줍니다. 프로토타입


의 Members에서 상속된 함수를 삭제할 수 없습니다. 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의 인스턴스입니다. 인스턴스를 통해 프로토타입과 상위 클래스의 멤버를 삭제하는 것은 불가능합니다~
이 속성을 삭제해야 합니다("여기서 이름을 예로 들어"). 프로토타입만 조작할 수 있습니다.
delete a1.constructor.prototype.name;
DontDelete 속성 삭제는 DontDelete 속성이 있는 멤버를 삭제할 수 없습니다.
그러면 DontDelete 속성을 가진 멤버는 무엇인가요?
예를 들어 var로 선언된 변수, 함수 이름으로 선언된 함수, Function 객체의 길이 등은 DontDelete 속성을 가진 멤버가 거의 없습니다.
delete return 값 false 또는 true
delete는 삭제할 수 없는 멤버를 삭제할 때만 false를 반환합니다
. 다른 경우에는 존재하지 않는 멤버를 삭제하거나 성공적으로 삭제하면 true가 반환됩니다.
true입니다. 반드시 삭제가 성공했다는 의미는 아닙니다.
예를 들어, 코드 실행 경고(delete a); // true
a는 존재하지 않는 선언되지 않은 변수입니다. delete는 여전히 true를 반환합니다.
브라우저 간 차이점


(function(){
delete 인수; // false , Mozilla에서는 true
typeofargs; // "object"
})()


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


코드 복사 코드는 다음과 같습니다.

eval('var flower = 1');
alert(window.flower) //1
alert(flower)// 1
delete flower; Alert(flower); // "정의되지 않음"
var a=function(){};
eval('var a = function(){}')
delete a; >alert(a); // "정의되지 않음"


eval 뒤의 전역 변수에는 DontDelete 기능이 없으며 eval로 삭제할 수 있습니다.
마지막으로 마법 같은 것을 추가하세요~ 침대로 테스트할 때
window.flower=1;
delete flower 개체는 이 작업을 지원하지 않습니다
with(window){flower=1};를 사용한 다음 flower를 삭제할 수 있습니다(delete라는 것을 기억하세요). flower, window.flower 삭제 아님, IE에서는 허용하지 않습니다)
이렇게 하면 window.flower가 삭제됩니다 :)


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