zoukankan      html  css  js  c++  java
  • delete和void是javascirpt中的一元运算符

    1 delete

    delete 运算符删除对以前定义的(自己定义的)对象属性或方法的引用。不能删除原始的 ECMAScript 方法,不是开发者定义的。

    //可以删除的例子
    var o = new Object;
    o.name = "David";
    alert(o.name);    //输出 "David"
    delete o.name;
    alert(o.name);    //输出 "undefined"

    delete 运算符不能删除开发者未定义的属性和方法。下面的代码将引发错误:

    //不能删除原生的ECMAScript方法
    delete o.toString;

    2 void

    使函数没有返回值(请记住,没有返回值的函数真正返回的都是 undefined。)

    该运算符通常用于避免输出不应该输出的值,例如,从 HTML 的 <a> 元素调用 JavaScript 函数时。要正确做到这一点,函数不能返回有效值,否则浏览器将清空页面,只显示函数的结果。例如:

    <a href="javascript:window.open('about:blank')">Click me</a>

    如果把这行代码放入 HTML 页面,点击其中的链接,即可看到屏幕上显示 "[object]"。

    这是因为 window.open() 方法返回了新打开的窗口的引用。然后该对象将被转换成要显示的字符串。

    要避免这种效果,可以用 void 运算符调用 window.open() 函数:

    <a href="javascript:void(window.open('about:blank'))">Click me</a>
  • 相关阅读:
    CentOS7安装(三)- 配置阿里云yum源
    OSQA的配置
    MySQL学习 (三) Limit-Distinct-Union
    MySQL学习(二)-字段类型及约束
    MySQL学习(一)-基本知识
    Python闭包
    软件测试面试常考点
    人生感悟
    常用的Linux命令
    细说php一些常见的知识点
  • 原文地址:https://www.cnblogs.com/wu-hou/p/6370688.html
Copyright © 2011-2022 走看看