变量声明时命名与变量作为对象属性时命名的区别解析
时间: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