扫码关注官方订阅号
First Name: Last Name:
小伙看你根骨奇佳,潜力无限,来学PHP伐。
由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。txt是字符串没错,到eval里就是执行语句了。
eval()函数就是执行传参的字符串中的内容,不加()相当于把字符串里的{}当做代码块了,而好像本来的意义却不是那样的。
@bk201 解释的蛮清楚了。其实你在控制台直接输入 {a: 'value', b: 'value2'}都是执行不了的,因为被解释成代码块来执行了。你可以把它变成语句var x = {a: 'value', b: 'value2'}; 或者像这里的加上括号。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行。
txt是字符串没错,到eval里就是执行语句了。
eval()函数就是执行传参的字符串中的内容,不加()相当于把字符串里的{}当做代码块了,而好像本来的意义却不是那样的。
@bk201 解释的蛮清楚了。
其实你在控制台直接输入 {a: 'value', b: 'value2'}都是执行不了的,因为被解释成代码块来执行了。你可以把它变成语句var x = {a: 'value', b: 'value2'}; 或者像这里的加上括号。