扫码关注官方订阅号
官方文档上的,为什么第一个没有单引号,第二个有?
认证高级PHP讲师
忘了对象属性的说明了吗你可以加引号也不可以不加,但有一些是一定要加的,比如有-的,或者'sdkjs.sdsd'这样的
写的时候忘记统一了?
vue的问题怎么加的是react.js的tag
第二个有个减号“-”,而减号是不能用在标识符的,也不能直接用在对象属性名上,需要加上双引号
因为第二个属性包含特殊符号 - 而 javascript 的命名中是不可以这样写的但是 Object 的 key 是字符串类型 所以可以这么用 拿 style 对象为例子
-
javascript
Object
key
style
// 初始化时的写法 const style = { 'margin-top': '10px', marginBottom: '10px' } // 动态设置的写法 style['margin-top'] = '20px'
有一个比较特殊的东西 DOM 元素的 style 属性兼容两种写法可以用 [key] 的形式访问或设置 也可以使用 camelCase 的形式访问或设置
DOM
[key]
camelCase
楼主的问题涉及到两个知识点: 1.对象的key值类型都是被解析成字符串类型来处理的,即使你写成光秃秃的active,也会被解析成"active"2.js标识符规范, 由任意顺序的大小写字母、数字、下划线和美元符号组成
弄清楚了这两点,基本上可以理解vue中的v-on语法解析属性值对象的key值有无分号的必要性,符合标识符规范的,可以不加分号,不符合标识符规范的,必须加分号,不然无法正确被解析
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
忘了对象属性的说明了吗
你可以加引号也不可以不加,但有一些是一定要加的,比如有-的,或者'sdkjs.sdsd'这样的
写的时候忘记统一了?
vue的问题怎么加的是react.js的tag
第二个有个减号“-”,而减号是不能用在标识符的,也不能直接用在对象属性名上,需要加上双引号
因为第二个属性包含特殊符号
-而javascript的命名中是不可以这样写的但是
Object的key是字符串类型 所以可以这么用 拿style对象为例子有一个比较特殊的东西
DOM元素的style属性兼容两种写法可以用
[key]的形式访问或设置 也可以使用camelCase的形式访问或设置楼主的问题涉及到两个知识点:
1.对象的key值类型都是被解析成字符串类型来处理的,即使你写成光秃秃的active,也会被解析成"active"
2.js标识符规范, 由任意顺序的大小写字母、数字、下划线和美元符号组成
弄清楚了这两点,基本上可以理解vue中的v-on语法解析属性值对象的key值有无分号的必要性,符合标识符规范的,可以不加分号,不符合标识符规范的,必须加分号,不然无法正确被解析