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关键字的更多相关文章

  1. C语言void关键字的深刻含义

    C语言void关键字的深刻含义 .概述 本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧. .void的含义 void的字面意思是“无类型”,void *则为 ...

  2. C语言学习笔记--void关键字

    1.C语言中Void关键字的含义 void 修饰函数返回值和参数——为了表示“无”,如果函数没有返回值,那么应该将其声明为 void,同样的,如果函数没有参数,也应该声明其参数为 void //f() ...

  3. Python 为什么没有 void 关键字?

    void 是编程语言中最常见的关键字之一,从字面上理解,它是"空的.空集.空白"的意思,最常用于 表示函数的一种返回值类型. 维基百科上有一个定义: The void type, ...

  4. 原生JS:delete、in、typeof、instanceof、void详解

    delete.in.typeof.instanceof.void详解 本文参考MDN做的详细整理,方便大家参考[MDN](https://developer.mozilla.org/zh-CN/doc ...

  5. 深入理解JS的delete

    原文链接: Understanding delete原文作者: Kangax原文日期: 2010年01月10日 翻译日期: 2014年02月07日 翻译人员: 铁锚 !!!!!!!!草稿版本的翻译完成 ...

  6. 为什么js中要用void 0 代替undefined

    这个是Backbone.js中的一句源码 if (callback !== void 0 && 'context' in opts && opts.context == ...

  7. c++11 类默认函数的控制:"=default" 和 "=delete"函数 void fun() = default; void fun()=delete;

    转自:lsgxeva #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #includ ...

  8. 【JS】374- 重学 this 关键字

    为什么要学习this关键字 1. 面试会问啊!总有一些面试官喜欢问你一段不可能这么写的代码.看一道经典且古老的面试题(学完本文后,文末会有一道更复杂的面试题等着你哦!) 代码如下: let a = 5 ...

  9. Js学习02--变量、关键字、标识符

    一.Js变量的定义 1.定义变量的目的 在内存中分配一块存储空间给变量,方便以后存储数据. 2.如何定义变量 任何变量在使用前都必须定义变量 var 变量名称 eg: var name,age,sex ...

随机推荐

  1. @RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别

    1.@RequestMapping 国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上.用于类上,表示类中的所有响应 ...

  2. jsp页面的el表达式取数据

    在jsp页面去Id时候要照上面的方式取,不能照下面的方式取:

  3. 纯CSS实现圆角、可拖动的一个DIV模块层

    <style>body{ margin:0px; padding:0px; font-size:14px;}#t { position:absolute; float:left; left ...

  4. double类型保留2位小数

    double d = 12.2289; java.text.DecimalFormat df = new java.text.DecimalFormat("#.00"); Syst ...

  5. dm8127前段采集和抓拍

         高清监控(944275216) 2014-1-17 9:36:24自主研发高清网络摄像机,720P.960P.1080P系列产品,经济型.低照型.宽动态型等各种机型可选,支持onvif.P2 ...

  6. 在C语言中实现面向对象(2)

    C语言是结构化和模块化的语言,它是面向过程的.但它也可以模拟C++实现面向对象的功能.那么什么是对象呢?对象就是一个包含数据以及于这些数据有关的操作的集合,也就是包含数据成员和操作代码(即成员函数). ...

  7. 常用Javascript函数与原型功能收藏

    // 重复字符串 String.prototype.repeat = function(n) { return new Array(n+1).join(this); } // 替换全部 String. ...

  8. R语言低级绘图函数-grid

    grid 函数用来在一张图表上添加网格线, 基本用法:默认在添加刻度线的地方添加网格线 plot(1:5, 1:5, xlim = c(0,6), ylim = c (0,6), type = &qu ...

  9. Case用法

    SELECT <myColumnSpec> = CASE WHEN <A> THEN <somethingA> WHEN <B> THEN <so ...

  10. brew 中的时间格式转换

    char * pACNowStr = NULL; JulianType jtNow; ISHELL_GetJulianDate(pIShell, , &jtNow); pACNowStr = ...