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

时间:2024-06-12 19:58:32 

这个标题实在拗口,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) );
}

标签:变量命名
0
投稿

猜你喜欢

  • PHP简单实现正则匹配省市区的方法

    2023-11-14 22:24:09
  • python实现键盘输入的实操方法

    2022-07-25 19:18:25
  • Python实现的简单计算器功能详解

    2023-11-17 09:34:08
  • 对IPython交互模式下的退出方法详解

    2021-08-04 10:03:11
  • python SocketServer源码深入解读

    2023-04-15 18:38:44
  • 将django项目部署到centos的踩坑实战

    2021-05-14 06:00:22
  • pygame游戏之旅 添加游戏介绍

    2022-12-03 09:13:08
  • mssql使用存储过程破解sa密码

    2024-01-20 10:28:09
  • python机器人行走步数问题的解决

    2023-12-24 23:26:05
  • mysql导入导出数据中文乱码解决方法小结

    2024-01-19 17:47:45
  • MySQL内外连接的具体使用

    2024-01-17 13:52:49
  • python web框架Flask实现图形验证码及验证码的动态刷新实例

    2021-01-09 15:35:53
  • shtml网页SSI使用详解

    2008-02-20 19:13:00
  • flask实现验证码并验证功能

    2022-02-03 07:40:02
  • ASP.NET中Image控件使用详解

    2024-05-09 09:04:10
  • 教你使用Pycharm配置远程Jupyter

    2023-02-09 19:43:06
  • pandas数据合并之pd.concat()用法详解

    2022-10-26 20:22:38
  • OpenCV图像识别之姿态估计Pose Estimation学习

    2023-08-10 14:25:28
  • Python数据结构之顺序表的实现代码示例

    2021-02-22 07:13:08
  • Python GUI布局尺寸适配方法

    2022-03-07 05:52:26
  • asp之家 网络编程 m.aspxhome.com