js的delete和void关键字
delete关键字
- delete关键字的作用:
- 删除对象的属性 语法:delete 对象.属性
- 可以删除没有使用var关键字声明的全局变量(直接定义在window上面的属性)
delete关键字的使用注意:
- 返回值类型为布尔值(true / false),删除成功返回true
- 删除对象中不存在的属性,返回值是true
- 删除对象的原型对象中的属性(不能删除),返回值是true
- 无法删除使用var声明的全局的变量,但是却可以删除直接定义在window上面的属性
示例:

1 <script>
2 var dog = {
3 name:"招财",
4 age:14
5 }
6 //删除对象的属性
7 console.log(delete dog.name); //true
8 console.log(dog.name); //undefined
9
10 // 删除对象中不存在的属性
11 console.log(delete dog.eat); //true
12
13 // 删除对象的原型对象中的属性
14 Object.prototype.play = "玩";
15 console.log(delete Object.prototype.play ); //true
16
17 //没有使用var关键字声明的变量,那么该变量默认会成为一个全局的变量(变成window的属性)
18 b = "testb";
19 console.log(b); // testb
20
21 function func() {
22 var num1 = 10;
23 num2 = 20;
24 }
25
26 func();
27 //console.log(num1); // 报错 无法在函数体外部访问局部变量
28 console.log(num2); //20 num2 变成了window的属性
29
30 //使用delete删除直接定义在window上面的属性
31 console.log(delete num2); // true
32 //console.log(num2); // 报错
33
34 var a = "testa";
35 delete a; // 无法删除
36 console.log(a); // testa
37
38 </script>

void关键字
超级链接的形式:<a href="javascript:void(0)">超级链接的文字</a>
其中,javascript:void(0)指的是该操作符指定要计算一个表达式但是不返回值。
具体事例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
//新出现的type类型,不写也没有什么应用
<!--
//-->
</script>
</head>
<body>
<p>点击以下链接查看结果:</p>
<a href="javascript:void(0)">点我!</a>
</body>
</html>
加上具体事件
<a href="javascript:void(alert('Warning!!!'))">点我!</a>
1
加入了变量
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
function getValue(){
var a,b,c;
a = void ( b = 5, c = 7 );
document.write('a = ' + a + ' b = ' + b +' c = ' + c );
}
</script>
</head>
<body>
<p>点击以下按钮查看结果:</p>
<form>
<input type="button" value="点我" onclick="getValue();" />
</form>
</body>
</html>
结果:
a = undefined b = 5 c = 7
js的delete和void关键字的更多相关文章
- C语言void关键字的深刻含义
C语言void关键字的深刻含义 .概述 本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧. .void的含义 void的字面意思是“无类型”,void *则为 ...
- C语言学习笔记--void关键字
1.C语言中Void关键字的含义 void 修饰函数返回值和参数——为了表示“无”,如果函数没有返回值,那么应该将其声明为 void,同样的,如果函数没有参数,也应该声明其参数为 void //f() ...
- Python 为什么没有 void 关键字?
void 是编程语言中最常见的关键字之一,从字面上理解,它是"空的.空集.空白"的意思,最常用于 表示函数的一种返回值类型. 维基百科上有一个定义: The void type, ...
- 原生JS:delete、in、typeof、instanceof、void详解
delete.in.typeof.instanceof.void详解 本文参考MDN做的详细整理,方便大家参考[MDN](https://developer.mozilla.org/zh-CN/doc ...
- 深入理解JS的delete
原文链接: Understanding delete原文作者: Kangax原文日期: 2010年01月10日 翻译日期: 2014年02月07日 翻译人员: 铁锚 !!!!!!!!草稿版本的翻译完成 ...
- 为什么js中要用void 0 代替undefined
这个是Backbone.js中的一句源码 if (callback !== void 0 && 'context' in opts && opts.context == ...
- c++11 类默认函数的控制:"=default" 和 "=delete"函数 void fun() = default; void fun()=delete;
转自:lsgxeva #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #includ ...
- 【JS】374- 重学 this 关键字
为什么要学习this关键字 1. 面试会问啊!总有一些面试官喜欢问你一段不可能这么写的代码.看一道经典且古老的面试题(学完本文后,文末会有一道更复杂的面试题等着你哦!) 代码如下: let a = 5 ...
- Js学习02--变量、关键字、标识符
一.Js变量的定义 1.定义变量的目的 在内存中分配一块存储空间给变量,方便以后存储数据. 2.如何定义变量 任何变量在使用前都必须定义变量 var 变量名称 eg: var name,age,sex ...
随机推荐
- PHP并发IO编程之路
并发IO问题一直是服务器端编程中的技术难题,从最早的同步阻塞直接Fork进程,到Worker进程池/线程池,到现在的异步IO.协程.PHP程序员因为有强大的LAMP框架,对这类底层方面的知识知之甚少, ...
- SQL Server 自动重建出现碎片的索引
1.索引碎片的产生? 由于在表里大量的插入.修改.删除操作而使索引页分裂.如果索引有了高的碎片,有两种情况,一种情况是扫描索引需要花费很多的时间,另一种情况是在查询的时候索引根本不使用索引,都会导致性 ...
- 关于Cocos2d-x中对其他某个类的某个属性的获得
类A要获得类B中的某个属性,可以是节点属性 方法一 1.先在B类中定义一个_edge的节点属性(可以在B类中进行各种对_edge的操作),然后写一个方法Node* GameController::ge ...
- Spring4 Web开发新特性
基于Servlet3开发. 针对RESTful开发,提供了@RestController,加在Controller上面,免除了每个@RequestMapping method上面的@ResponseB ...
- jquery -- checkbox选中无选中状态
最近在工作中使用jquery操作checkbox,使用下面方法进行全选.反选: var ischecked=allCheckObj.is(':checked'); ischecked?checksOb ...
- R语言低级绘图函数-grid
grid 函数用来在一张图表上添加网格线, 基本用法:默认在添加刻度线的地方添加网格线 plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = &qu ...
- jQuery弹出遮罩层效果完整示例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Supervisor安装与配置(非守护进程管理工具)
http://blog.csdn.net/xyang81/article/details/51555473
- ubuntu13.10更换源
Ubuntu13.10更新源 不同的网络状况连接以下源的速度不同, 建议在添加前手动验证以下源的连接速度(ping下就行),选择最快的源可以节省大批下载时间. 首先备份源列表: sudo cp /et ...
- iis部署网站,使用虚拟路劲
此前一直使用vs2010,没有考虑过配置IIS,但是一个项目完成后交付给甲方使用.肯定是要考虑IIS的安装和部署的.现从IIS的安装和asp.NET项目的部署两个方面讲解. IIS安装: 网上很多教程 ...