属性访问表达式运算得到一个对象属性或一个数组元素的值。js为属性访问定义了2中语法:

expression.identifier

expression[“expression”]

不管使用何种形式属性访问表达式,在.和[之前的表达式钟会首先计算,如果计算结果是null或undefined,则表达式会抛出一个类型错误异常,因为这两个值都不能包含任意属性。

显然.identifier的写法更加简单,单这种方法只适用于要访问的属性名称是合法的标示符,且需要知道要访问的属性名字。如果属性名称是一个保留字或包含空格和标点符号,或是一个数字(对于数组来说),则必须使用方括号的写法。当属姓名是通过运算得出的值而不是固定的值的时候,这时必须使用方括号写法。

ECMASctript规范允许内置函数返回一个左值,但自定义函数不能返回左值。

运算符的优先级和结合性规定了它们在复杂表达式中的运算顺序,单并没有规定子表达式计算过程中的运算顺序。js总是严格按照从左到右的顺序来计算表达式,例如如下代码:

w = x + y * z;

将首先计算w,然后依次计算x,y和z的值;接着是y*z的值,然后是加上x的值,最后将其复制给表达式w所指代的变量或属性。给表达式添加圆括号会改变乘法、加法和赋值运算的关系,但从左到右的顺序是不会改变的。

js中所有数字都是浮点型的,除法运算结果也是浮点型,比如5/2结果是2.5.

求余运算操作符通常都是整数,但也可以为浮点数,比如6.5%2.1结果为0.2

javascript属性访问表达式的更多相关文章

  1. 菜鸟笔记:javascript基础之表达式和运算符

    4.1 原始表达式 原始表达式是最简单的表达式~它不再包含其他表达式.它包含:直接量(程序中直接显示出来的数据值.)常量(程序中不会被修改的量)变量. 4.2 对象和数组的初始化表达式 对象和数组初始 ...

  2. javascript基础语法——表达式

    × 目录 [1]原始表达式 [2]复杂表达式 前面的话 一般地,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但是,其实还有一个术语经常使用,却很少被提到,这就是javascr ...

  3. 【JavaScript运算符与表达式】

    一.表达式 1.原始表达式:2.14,"test",true/false,null--复合表达式:10*20-- 2.数组.对象的初始化表达式:new Array(1,2),[1, ...

  4. 【JavaScript 从零开始】表达式和运算符(1)

    原始表达式 最简单的表达式是"原始表达式"(primary expression).JavaScript中的原始表达式包含常量或直接量.关键字和变量. // 常量或直接量 1.23 ...

  5. JavaScript权威指南--表达式与运算符

    本章要点 表达式是javascript中的一个短语,javascript解释器会将其计算出一个结果. 程序中的常量.变量名就是一种简单的表达式.复杂的表达式是由简单的表达式组成的,比如数组访问表达式. ...

  6. JavaScript 基础知识 表达式和运算符

    表达式的概念:将同类型的数据(如常量.变量.函数等),用运算符号按一定的规则连起来的.有意义的式子称为表达式 一.原始表达式 最简单的表达式,是表达式的最小单位.JavaScript中的原始表达式包含 ...

  7. JavaScript 属性类型(数据属性和访问器属性)

    数据属性 数据属性包含一个数据值的位置.在这个位置可以读取和写入值.数据属性有 4 个描述其行为的特性. [[Configurable]]:表示能否通过 delete 删除属性从而重新定义属性,能否修 ...

  8. JavaScript 属性类型(数据属性 访问器属性)

    ECMA-2把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.” 严格来说,这就相当于说对象是一组没有特定顺序的值.对象的属性或方法都有一个名字,而每个名字映射到一个值.我们可以把E ...

  9. JavaScript对象属性访问的两种方式

    JavaScript对象属性访问的两种方式 object.attribute object["attribute"] 例如: var employees = [ { "f ...

随机推荐

  1. UNIX网络编程——tcp流协议产生的粘包问题和解决方案

    我们在前面曾经说过,发送端可以是一K一K地发送数据,而接收端的应用程序可以两K两K地提走数据,当然也有可能一次提走3K或6K数据,或者一次只提走几个字节的数据,也就是说,应用程序所看到的数据是一个整体 ...

  2. 嵌入式LINUX环境下视频采集知识

    V4L2是Linux环境下开发视频采集设备驱动程序的一套规范(API),它为驱动程序的编写提供统一的接口,并将所有的视频采集设备的驱动程序都纳入其的管理之中.V4L2不仅给驱动程序编写者带来极大的方便 ...

  3. UNIX网络编程——UDP 的connect函数(改进版)

    上一篇我们提到,除非套接字已连接,否则异步错误是不会返回到UDP套接字的.我们确实可以给UDP套接字调用connect,然而这样做的结果却与TCP连接大相径庭:没有三次握手.内核只是检查是否存在立即可 ...

  4. 关于NOR_FLASH的大小在单片机程序中的应用

    在单片机开发中,NOR_FLASH常用的有4M和8M的大小: 4M的FLASH在程序中可以这样表示:Ptr < 0x220000 8M的FLASH在程序中可以这样表示:Ptr < 0x40 ...

  5. Android初级教程理论知识(第一章快速入门)

    一.综合介绍. Android项目的目录结构 Activity:应用被打开时显示的界面 src:项目代码 R.java:项目中所有资源文件的资源id Android.jar:Android的jar包, ...

  6. 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

    作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...

  7. EBS DBA指南笔记(三)

    第五章 patching   patch的作用:解决应用代码的问题:安装新的特征:更新technology stack组件.打patch不是一个简单的过程,但我们也没必要深究里面每个细节. EBS的p ...

  8. linux下重启weblogic(关闭和启动)

     ssh远程连接Linux服务器! 开启weblogic: 1.找到/Oracle/Middleware/user_projects/domains/用户_domain目录, 2.执行nohup ...

  9. Chapter 3 Protecting the Data(1):理解权限

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/39548665,专题目录:http://blog.csdn.net/dba_huangzj ...

  10. Chapter 2 User Authentication, Authorization, and Security(11):在已还原的数据库中修正登录映射错误

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/39496517,专题目录:http://blog.csdn.net/dba_huangzj ...