javascript 中delete 的作用是干啥的

js中的delete 跟 c,c++中的delete意思不一样, js中的delete只是删除对象的属性,但是该属性所指向的对象并不会被删除掉

var person = {};

var body = {"head":"one big head", hand = "two"};

person.body = body;

delete person.body

person的body属性被删除,但是body这个对象还存在,body对象会由于失去了引用而被垃圾回收,自动被删掉来

参考下这边文章,说的很详细

http://www.jb51.net/article/31165.htm

时间: 2024-09-28 04:20:34

javascript 中delete 的作用是干啥的的相关文章

javascript中defer的作用

javascript中defer的作用 <script src="../CGI-bin/delscript.js" defer></script>中的defer作用是文档加载完毕了再执行脚本,这样回避免找不到对象的问题 加上 defer 等于在页面完全在入后再执行,相当于 window.onload ,但应用上比 window.onload 更灵活!defer是脚本程序强大功能中的一个"无名英雄".它告诉浏览器Script段包含了无需立即执行

JavaScript中Delete函数

JavaScript中Delete函数是删除指定的文件或文件夹. object.Delete( force ); 其中object是必选项. 应为 File 或 Folder 对象的名称. force是可选项. Boolean 值,如果要删除设置了只读属性的文件或文件夹则为 True ;否则为 False (默认). 并且如果指定的文件或文件夹不存在,那么会产生一个错误.http://www.mlybyby.com JavaScript中Delete函数对于单个 File 或 Folder 产生

深入理解javascript 中的 delete(转)

在这篇文章中作者从<JavaScript面向对象编程指南>一书中关于 delete 的错误讲起,详细讲述了关于 delete 操作的实现, 局限以及在不同浏览器和插件(这里指 firebug)中的表现. 下面翻译其中的主要部分. ...书中声称 “函数就像一个普通的变量那样——可以拷贝到不同变量,甚至被删除” 并附上了下面的代码片段作为说明: >>> var sum = function(a, b) {return a+b;}; >>> var add =

Javascript中函数调用和this的关系

例子先行: var myObject={ foo:"bar", func:function(){ var self=this; console.log("outerfunc:this.foo="+this.foo); console.log("outerfunc:self.foo="+self.foo); (function(){ console.log("innerfunc:this.foo="+this.foo); con

javascript中错误使用var造成undefined

在javascript中依据变量作用的范围不同分为局部变量和全局变量,直接定义的变量是全局变量,全局变量能够被全部的脚本訪问:在函数中定义的变量是局部变量,局部变量仅仅在函数内有效. 假设全局变量和局部变量使用同样的变量名,则局部变量将会覆盖全局变量. 样例代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>js中全局变量与局部变量</title

关于 JavaScript 中一个小细节问题 (在控制台中直接 {} 对象报错问题)

在 Chrome 浏览器,大家可能遇到这样一个小问题. 随便输入一个 Object 对象  ,比如 {Name:'王尼玛',Age:20} ,将会报错.之前,也从来没去考虑过到底是为啥原因. 今天,刚好看到博客园有博友文章,顺便记录一下. 在 JavaScript 中, : 有三种作用,想必大家都知道,其一  三元表达式  true? A:B,其二 在 switch case 中 case 语句中会用到,其三 就是上图中,对象直接量表达式中. 其实 ,在 JS 中,: 还有一种用法,如下所示,内

Javascript教程:delete删除对象

在javascript中,我们有时候要使用delete删除对象.但是,对于delete的一些细节我们未必尽知.昨天,看到kangax分析delete的文章,获益匪浅.本文将文章的精华部分翻译出来,与各位分享. 原理 代码类型 执行上下文 激活对象/可变对象 属性特性 内置对象和DontDelete 未声明的赋值 Firebug 困惑 通过eval删除变量 浏览器兼容性 Gecko DontDelete bug IE bugs 误区 ‘delete’和宿主对象 ES5严格模式 总结 原理 为什么我

Javascript中的delete

一.问题的提出 我们先来看看下面几段代码,要注意的是,以下代码不要在浏览器的开发者工具(如FireBug.Chrome Developer tool)中运行,原因后面会说明: 为什么我们可以删除对象的属性: 复制代码代码如下: var o = { x: 1 }; delete o.x; // true o.x; // undefined 但不以删除像这样声明的变量: 复制代码代码如下: var x = 1; delete x; // false x; // 1 也不能删除像这样定义的函数: 复制

javascript中的preventDefault与stopPropagation作用介绍

preventDefault方法的起什么作用呢? 我们知道比如<a href="http://www.baidu.com">百度</a>,这是html中最基础的东西,起的作用就是点击百度链接到http://www.baidu.com,这是属于<a>标签的默认行为. 看一段代码大家就明白了: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">