变量声明时命名与变量作为对象属性时命名的区别解析

 更新时间:2013年12月06日 10:29:01   作者:  
这篇文章主要介绍了变量声明时命名与变量作为对象属性时命名的区别。需要的朋友可以过来参考下,希望对大家有所帮助

这个标题实在拗口,Javascript命名变量所遵循的规则

1、第一个字符必须是字母、汉字字符、 下划线(_)或美元符号($)

2、剩下的可以是下划线、汉字字符、 美元符号和任何字母、数字

以下声明变量是正确的

复制代码 代码如下:

var p,$p,_p;
var 长,宽; 

以下是错误的
复制代码 代码如下:

var .p;//只能是字母、数字、下划线或美元符号
var -p;//只能是字母、数字、下划线或美元符号
var p*;//只能是字母、数字、下划线或美元符号
var 4p,4长;//不能以数字开头
var 长 度;//中间不能有空格

作为对象属性时,有两种方式存取。一是点号(.)运算符,一是中括号([])运算符。
复制代码 代码如下:

var p = {name:"Jack"};
alert(p.name);//点号
alert(p['name']);//中括号

1、点号要求后面的运算元是合法的标识符(即合法的变量命名),对于不合法的不可以使用

2、中括号要求的则是一个字符串即可,不必是合法的变量命名。如4p是不合法的变量命名(因为以数字开头),但却可以作为对象属性名(前提是字符串)

复制代码 代码如下:

var p = {
"4p":"Jack",
"-3":"hello",
name:"Tom",
"我":"me",
"我 们":"we"
};

alert(p.4p);//不合法,语法分析时报错,不能以数字开头
alert(p.我);//合法,输出"me"
alert(p.我 们);//不合法,语法分析时报错("我"和"们"之间有个空格)
alert(p["我 们"]);//合法,输出"we",虽然"我"和"们"之间有空格,仍然可以用[]存取
alert(p['4p']);//合法,输出"Jack"
alert(p.name);//合法,输出"Tom"

用直接量声明一个对象变量时,属性名有时候我们会加引号,有时候则不加,但无论加或不加,对象的属性类型都是string
复制代码 代码如下:

var book = {bname:"js权威指南","price":108};//bname没加引号,price加了
for(var attr in book) {
     //两次输出都是string,说明js会动态将其转换成字符串类型
     alert( attr + ":" + typeof(attr) );
}

相关文章

  • JavaScript判断空值、NULL、undefined的方法对比

    JavaScript判断空值、NULL、undefined的方法对比

    JavaScript五种原始类型(boolean、number、string、null、undefined)中的一种。在鉴别JavaScript原始类型的时候我们会用到typeof操作符。Typeof操作符可用于字符串、数字、布尔和未定义类型。
    2022-12-12
  • JavaScript setTimeout和setInterval的用法与区别详解

    JavaScript setTimeout和setInterval的用法与区别详解

    Javascript的setTimeOut和setInterval函数应用非常广泛,它们都用来处理延时和定时任务,下面这篇文章主要给大家介绍了关于JavaScript setTimeout和setInterval的用法与区别,需要的朋友可以参考下
    2022-04-04
  • JavaScript 跨域之POST实现方法

    JavaScript 跨域之POST实现方法

    本篇文章主要介绍了JavaScript 跨域之POST实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • JS+flash实现chrome和ie浏览器下同时可以复制粘贴

    JS+flash实现chrome和ie浏览器下同时可以复制粘贴

    chrome和ie同时可以复制粘贴,想必大家一直思索的问题在本文将有一个不错的实现,下面为大家介绍下JS+flash是如何实现的,感兴趣的朋友可以参考下
    2013-09-09
  • js中关于Blob对象的介绍与使用

    js中关于Blob对象的介绍与使用

    这篇文章主要介绍了js中关于Blob对象的介绍与使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • JavaScript实现小球沿正弦曲线运动

    JavaScript实现小球沿正弦曲线运动

    这篇文章主要为大家详细介绍了JavaScript实现小球沿正弦曲线运动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • js实现精美的图片跟随鼠标效果实例

    js实现精美的图片跟随鼠标效果实例

    这篇文章主要介绍了js实现精美的图片跟随鼠标效果,实例分析了javascript鼠标事件及页面样式的操作技巧,需要的朋友可以参考下
    2015-05-05
  • Echarts实现暂无数据的三种方法

    Echarts实现暂无数据的三种方法

    本文将介绍如何使用Echarts实现暂无数据的三种方法,详细讲解这三种方法的实现步骤和效果展示,帮助读者更好地理解如何在Echarts中处理暂无数据的情况
    2023-08-08
  • 小程序封装路由文件和路由方法(5种全解析)

    小程序封装路由文件和路由方法(5种全解析)

    这篇文章主要介绍了小程序5种路由方法使用场景,封装路由文件和路由方法,提升小程序体验和开发效率,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • JavaScript 闭包机制详解及实例代码

    JavaScript 闭包机制详解及实例代码

    这篇文章主要介绍了JavaScript 闭包机制详解及实例代码的相关资料,需要的朋友可以参考下
    2016-10-10

最新评论