js操作对象属性用点和用中括号有啥不同?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js操作对象属性用点和用中括号有啥不同?相关的知识,希望对你有一定的参考价值。
参考技术A一、功能不同
1、用点:表示定义一个对象,大部分情况下要有成对的属性和值,或是函数。
2、用中括号:表示一个数组,也可以理解为一个数组对象。
二、语法不同
1、用点: var LangShen = "Name":"Langshen","AGE":"28"。langShen.Name。在JSON数据结构、写函数组的时候中经常用。
2、用中括号:var LangShen = [ "Name","LangShen","AGE","28" ];每个值或函数,都是独立的,多个值之间只用,(逗号)隔开,因为是数组对象。
三、访问方式不同
1、用点:对象,访问时,用.(点)来层层访问。
2、用中括号:访问时,也是和数组一样,alert( LangShen[0] );
参考资料来源:百度百科-javascript
前端js开发浏览器兼容性基本原则
标签自定义属性,通过getAttribute和setAttribute访问,而不要用点成员的方式
表单中增加表单项,不要用字符串拼接成html的方式。要通过dom操作
在主流浏览器中换行符是一个文本节点,而老ie会忽略掉
判断对象的一个成员(属性或方法)是否存在,可以用 "成员名" in 对象的方式
if条件(括号内)的代码出现异常时,并不影响程序继续运行,相当于返回false
光标样式cursor=hand只有IE支持,建议使用cursor=pointer
表格行tr的默认样式是table-row不是block,如果不知道是什么也可以设置为空
老ie不支持string.trim(),老ie不支持string.startWith()
iframe的src属性不要写#否则非IE会出现当前页面嵌套当前页面。
iframe中的页面,提交之后,父层可能无法获取到子页面中的对象
通过索引获取数组元素要用中括号[],不要用小括号(),否则非IE浏览器提示找不到此方法。比如rows[0]获取表格第一行
删除本节点IE使用node.removeNode(true)而主流方法只能是通过父节点删除子节点node.parentNode.removeChild(node)
form对象在执行submit后的代码不能有alert、return、close(关闭窗口或页面)等操作,某些版本IE会导致不会执行提交动作。
时间仓促没有整理出代码实例,以后有时间再补上。
以上是关于js操作对象属性用点和用中括号有啥不同?的主要内容,如果未能解决你的问题,请参考以下文章