在Javascript:好的部分道格拉斯克罗克福德写道,Javascript的一个好主意是"表达对象字面符号".我知道他基本上是在称赞JSON.
但这个符号的"字面意思"是什么?是否有其他语言使用"表达对象文字符号?" 那些语言不是吗?他究竟是什么意思?
作为一个刚接触编程的人,我真的很纠结于文字的概念。解释通常假设您已经了解所有关于类型和构造函数的知识。所以这是我(过度)简化的看法:
“类型”是指变量的分类(不同类型的变量可以做不同的事情)。? 谈论原始类型文字很常见吗?例如字符串、数字和布尔值。这是一个字符串文字示例:
let myStr = 'word';
Run Code Online (Sandbox Code Playgroud)
在这种情况下word是一个字符串文字;您已经创建了字面意义上的字符串类型的东西。
在 JS 中,您也可以拥有对象字面量。也就是说,你可以在花括号之间输入这个东西,它自动成为对象类型的东西。
let mylitteralObject = {};
Run Code Online (Sandbox Code Playgroud)
我们已经创建了一个不使用运算符的对象(运算符本质上是一个使用熟悉的语法的内置函数,如“+”)。JS 引擎查看花括号并确定您正在声明一个对象。
一种非字面的方法是使用对象构造函数 - 一个与new关键字组合以创建新对象的函数。?
let myConstructedObject = new Object();
Run Code Online (Sandbox Code Playgroud)
此处将新关键字视为操作符。因此,里面的数据myConstructedObject是表达式评估的结果。
好吧,通常在编程中,文字是固定值。就像var five = 5;在一些数学中说和使用“五” 一样,只需按数字使用数字5。
因此,在OOP语言中,对象字面量将类似于:
var new_dog = {
name: "doggy",
good_dog: false
};
Run Code Online (Sandbox Code Playgroud)
整个事情都是我的目标。{}之间的内容是我的文字。我的符号是模式“名称:值”。
对象字面量是用大括号括起来的逗号分隔的名称值对列表。在 JavaScript 中,对象字面量定义如下:
var someObject = {
some_prop: 'some string value',
another_prop: 'another string value',
int_prop: 100
};
Run Code Online (Sandbox Code Playgroud)
它是“平的”。您创建它,向其添加属性和方法,所有这些属性和方法都是 public 。对象字面量是使用以下语法规则形成的:
值可以是任何数据类型,包括数组文字、函数和嵌套对象文字。
尽管 JavaScript 对象字面量和 JavaScript 实例对象都是对象,但它们的内在性质和特征有所不同
我自己也一直在为此苦苦挣扎。虽然我发现上面的答案很有帮助,但我literal在Webopedia中找到了一个简单的定义:
在编程中,指的是完全按照其应解释的方式编写的值。相反,变量是在程序执行过程中可以表示不同值的名称。常量是在整个程序中表示相同值的名称。但文字不是名称——它是值本身。
文字可以是数字、字符或字符串。例如,在表达式中,
x = 3
x 是一个变量,3 是一个文字。
真正让我印象深刻的是
但文字不是名称——它是值本身。
此外,这篇StackOverflow 帖子也非常有帮助。我很欣赏这个评论:
基本上,代码代表程序中的值,而不是对要执行的程序具有特殊含义。例如:15在程序中字面意思是十五,而+则有“两件事相加”的特殊含义。您不会将 + 视为代表加号本身,因为它不是文字。
这个答案很有帮助:
快速示例:
int my_int_var = 723;
723 - 这组字符指的是文字整数值。
my_int_var - 这组字符指的是可变整数值。
| 归档时间: |
|
| 查看次数: |
17634 次 |
| 最近记录: |