zoukankan      html  css  js  c++  java
  • JS基础JavaScript表达式

    JavaScript表达式分为原始表达式和复杂表达式

    原始表达式

    原始表达式是表达式的最小单位,所以它不再包含其他表达式。原始表达式包括this关键字、标识符引用、字面量引用、数值初始化、对象初始化和分组表达式。

    this关键字

    this // 返回当前对象
    

    标识符

    bar; // 返回变量bar的值
    

    字面量

    null;  // null
    undefined;  // undefined
    true;   // Boolean
    false;  // Boolean
    'good'; // String
    1;  // Number
    /pattern/ // RegExp
    

    数组和对象初始化

    [];
    ['a', 'b', 'c'];
    {};
    {name: 'wmui'};
    

    分组表达式

    分组表达式就是括号

    (10 + 2) / 2
    

    复杂表达式

    复杂表达式由原始表达式和操作符组合而成,复杂表达式包括属性访问表达式、对象创建表达式、函数表达式

    属性访问

    属性访问表达式可以获取对象的属性值或数组中的值,属性访问有两种方法:第一种是在表达式后面使用.标识符;第二种是使用[]方括号,括号内可以是一个表达式。对于数组而言只能使用方括号访问,括号内是元素的索引。

    var people = {name: 'wmui', sex: 'boy'}
    people.name; // 获取表达式people的name属性
    
    var bar = 'sex';
    people[bar]; // 获取表达式people的sex属性
    
    var a = ['a', 'b', 'c'];
    a[0]; // 获取表达式a中索引为0的元素
    
    

    无论使用哪种表达式获取属性值,都会先计算表达式再获取表达式的属性值,如果计算结果为nullundefined,表达式会抛出类型错误,因为这两个值不能包含任何属性。

    var bar;
    bar.name; // Cannot read property 'name' of undefined
    

    如果计算结果不是对象,JavaScript会将它转换为对象

    'wmui'.name; // undefined
    Object('wmui').name; // undefined
    

    如果对象表达式后紧跟着者方括号,则会将方括号内的表达式转化为字符串

    var people = {name: 'wmui', sex: 'boy'};
    var n = 'name';
    people[n]; // wmui
    people['name'] // wmui
    

    不论哪种情况,如果命名的属性不存在,那么整个属性访问表达式的值就是undefined

    对象创建

    new Object();
    new Object;
    

    如果对象创建表达式不需要传入参数给构造函数,那么后面的圆括号可以省略

    函数表达式

    函数表达式分为函数定义表达式和函数调用表达式

    函数定义表达式:定义一个函数,表达式的值就是就是这个函数

    // 函数表达式
    function foo(num) {
      return num * 2
    }
    
    // 函数语句
    var foo2 = function(num) {
      return num * 2
    }
    

    函数调用表达式:一种调用函数或方法的语法表示

    foo(3);
    foo2(3);
    arr.sort();
    
    优秀文章首发于聚享小站,欢迎关注!
  • 相关阅读:
    Python 字典(Dictionary)
    Python函数
    Python 模块
    一步步学习SPD2010--第二章节--处理SP网站(9)---- 关键点
    一步步学习SPD2010--第二章节--处理SP网站(8)---- 保存和使用网站模板
    一步步学习SPD2010--第二章节--处理SP网站(7)---- 导航网站的内容
    一步步学习SPD2010--第二章节--处理SP网站(6)---- 探索SP网站
    一步步学习SPD2010--第二章节--处理SP网站(5)附—升级自定义SP网站的复杂性
    一步步学习SPD2010--第二章节--处理SP网站(5)--重置网站模板
    一步步学习SPD2010--第二章节--处理SP网站(4)--删除SP网站
  • 原文地址:https://www.cnblogs.com/yesyes/p/15349907.html
Copyright © 2011-2022 走看看