javascript属性访问表达式用法分析


Posted in Javascript onApril 25, 2015

本文实例讲述了javascript属性访问表达式用法。分享给大家供大家参考。具体分析如下:

属性访问表达式运算得到一个对象属性或一个数组元素的值。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程序设计有所帮助。

Javascript 相关文章推荐
Javascript的时间戳和php的时间戳转换注意事项
Apr 12 Javascript
js简单抽奖代码
Jan 16 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
Jun 21 Javascript
JavaScript编程中实现对象封装特性的实例讲解
Jun 24 Javascript
JavaScript实现垂直向上无缝滚动特效代码
Nov 23 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
Dec 20 Javascript
NW.js 简介与使用方法
Feb 01 Javascript
vue组件中的样式属性scoped实例详解
Oct 30 Javascript
JavaScript之实现一个简单的Vue示例
Jan 17 Javascript
JavaScript刷新页面的几种方法总结
Mar 28 Javascript
vue发送websocket请求和http post请求的实例代码
Jul 11 Javascript
js实现漂亮的星空背景
Nov 01 Javascript
javascript变量声明实例分析
Apr 25 #Javascript
javascript显式类型转换实例分析
Apr 25 #Javascript
javascript原始值和对象引用实例分析
Apr 25 #Javascript
JavaScript分页功能的实现方法
Apr 25 #Javascript
JavaScript实现图片DIV竖向滑动的方法
Apr 25 #Javascript
JavaScript实现梯形乘法表的方法
Apr 25 #Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
Apr 25 #Javascript
You might like
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
解析link_mysql的php版
2013/06/30 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
javascript 对表格的行和列都能加亮显示
2008/12/26 Javascript
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
Javascript中valueOf与toString区别浅析
2013/03/19 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
2016/03/06 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
python制作一个桌面便签软件
2015/08/09 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
Python中顺序表的实现简单代码分享
2018/01/09 Python
Python + OpenCV 实现LBP特征提取的示例代码
2019/07/11 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
2020/06/11 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
手术室护士自我鉴定
2013/10/14 职场文书
个人房屋转让协议书范本
2014/10/26 职场文书
雨花台导游词
2015/02/06 职场文书
一个独生女的故事观后感
2015/06/04 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
java版 简单三子棋游戏
2022/05/04 Java/Android
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers