• JavaScript 语法总结3


    1. 数组初始化可以跳着来  var s = [1,2,,,,6]; // 中间省略的元素为undefined 

    2. 函数定义表达式:  var f = function(args){ return 0;};  得到的 f 是一个函数直接量而不是函数的返回值.

    3. 访问对象的属性可以使用  .  和 [ ] , 但是只有后者可以放入一个表达式进行计算.

    4. 运算符  in ,  instanceof 和 delete 

      - in : 做操作数是一个字符串(或可转换为字符串的值), 右操作数是一个对象, 如果右侧对象拥有一个名为左操作数值的属性名, 那么表达式返回true.

      - instanceof: 左操作数是一个对象, 右操作数标识对象的类, 如果左侧对象是右侧类的实例, 则表达式返回true.

      - delete: 用来删除对象属性或者数组的元素, 无返回值.

    var point = {x:1,y:1};
    console.log("x" in point);
    console.log("z" in point);
    console.log("toString" in point); // 继承来的
    
    var data = [10,13,12,4]; //数组也是对象
    console.log("0" in data); //有索引为0
    console.log(1 in data); //有索引为1
    console.log(4 in data); //没有索引为4
    
    
    var d = new Date();
    console.log(d instanceof Date);
    console.log(d instanceof Object);
    console.log(d instanceof Number); //false
    
    
    var obj = {x:1,y:2};
    delete obj.x;
    console.log("x" in obj); //"false"
    obj.y = undefined; 
    console.log("y" in obj);//"true", 使用undefined赋值后属性仍然在对象中存在
    var array = [1,2,3];
    delete array[1];
    console.log(1 in array); //"false"
    console.log(array[1]);//"undefined",访问删除的属性返回 undefined
    

    5. void运算符, 常用在  <a href="javascript:void window.open();"> , 是一个一元运算符, 出现在操作数之前, 操作数可以返回任意类型, 操作数会照常计算, 但忽略计算结果并返回undefined.

    6. 函数的声明提前.

      - 函数定义语句中的函数被显式地提前到来脚本或者函数的顶部(嵌套函数提前的外层函数的顶部), 因此他们在整个脚本和函数内是可见的, 如果使用var的话, 只有变量声明提前了, 而变量的初始化代码仍然在原来的位置, 而使用函数声明语句后, 函数的名称和函数体均提前了.

      - 如果函数中用到全局变量, 但是这个变量又在函数定义之后会出现什么情况呢?  -- 还是能正常引用, 因为函数体并没有执行.

    7. with语句

      - with语句:  with(object) statement;  将object添加到作用域链的头部,然后执行statement, 最后把作用域链恢复.在严格模式中是禁止使用with语句的, 非严格模式也不推荐使用,因为难于优化.

    with(document.forms[0]){ //使得可以直接访问表单,下面的name等都是表单的属性
        name.value = "";
        address.value = "";
        email.value = "";
    }
    
  • 相关阅读:
    CSS color
    Python 集成开发环境(IDE)
    Flexible and Economical UTF-8 Decoder
    方程式组织EQUATION DRUG平台解析(提纲) —方程式组织系列分析报告之四
    Windows Server 2008 IE 无法调整安全级别
    蟑螂数据库
    MySQL OCP
    TCP协议疑难杂症全景解析
    数据库资源博客---小麦苗BEST
    C++并发实战 与多线程
  • 原文地址:https://www.cnblogs.com/roger9567/p/5028964.html
Copyright © 2020-2023  润新知