Javascript “是什么意思?”;字面上的;在短语对象文字符号中?
在Javascript中:Douglas Crockford写到Javascript的一个好主意是“表达对象文字符号”。我知道他基本上是在恭维 但是这个符号的“字面”是什么呢?还有其他语言使用“表达对象文字符号”吗?他到底是什么意思?关于“赞美JSON”:他具体说明了这一点 “文字”部分:谷歌搜索“对象文字”提供了两个顶级资源:和。引用后者: 在计算机科学中,文字是一种表示源代码中固定值的符号。几乎所有编程语言都有原子值的符号,如整数、浮点数和字符串,通常还有布尔值和字符;有些还具有枚举类型元素和复合值(如数组、记录和对象)的符号Javascript “是什么意思?”;字面上的;在短语对象文字符号中?,javascript,json,Javascript,Json,在Javascript中:Douglas Crockford写到Javascript的一个好主意是“表达对象文字符号”。我知道他基本上是在恭维 但是这个符号的“字面”是什么呢?还有其他语言使用“表达对象文字符号”吗?他到底是什么意思?关于“赞美JSON”:他具体说明了这一点 “文字”部分:谷歌搜索“对象文字”提供了两个顶级资源:和。引用后者: 在计算机科学中,文字是一种表示源代码中固定值的符号。几乎所有编程语言都有原子值的符号,如整数、浮点数和字符串,通常还有布尔值和字符;有些还具有枚举类型元素
基本上,所有使用导致定义类型的语法构造都可以称为文本。(例如,一个字符串文本,
“abc”
)这是一个技术术语,表示“字面上”以这种或那种方式写入某个特定类型的变量(与构造相反,它看起来像其他东西,如PHP中的array()
).对象文字是用大括号括起来的以逗号分隔的名称-值对列表。在JavaScript中,对象文字定义如下:
var someObject = {
some_prop: 'some string value',
another_prop: 'another string value',
int_prop: 100
};
它是“扁平的”。创建它,向其中添加属性和方法,所有这些属性和方法都是公共的。
对象文字使用以下语法规则形成:
- 冒号分隔属性名和值
- 逗号将每个名称/值对与下一个名称/值对分开
- 姓氏/值对后不能有逗号,但在这种情况下,版本9之前的Internet Explorer通常会触发错误:“预期的标识符、字符串或数字”
尽管JavaScript对象文字和JavaScript实例对象都是对象,但它们的固有性质和功能有所不同。在编程中,文字通常是固定值。 比如说
var五=5在一些数学中使用“5”,只是字面上使用数字5
因此,在OOP语言中,对象文字类似于:
var new_dog = {
name: "doggy",
good_dog: false
};
整件事都是我的目标。我的{}之间的东西是我的文字。我的符号是一个模式“name:value” 作为一个刚接触编程的人,我真的很难理解文字的概念。解释通常假设您已经了解所有类型和构造函数。这是我对它的(过度)简化理解:
“类型”是指变量的分类(不同类型的变量可以做不同的事情)。谈论基元类型文字是很常见的 例如字符串、数字和布尔值。下面是一个字符串文字示例:
let myStr = 'word';
在本例中,word
是字符串文字;您已经创建了字符串类型的东西
在JS中,也可以有对象文本。也就是说,你可以在花括号中键入这个东西,它会自动成为对象类型
let mylitteralObject = {};
我们在不使用运算符的情况下创建了一个对象(运算符本质上是一个使用熟悉语法的内置函数,如“+”)。JS引擎查看花括号并确定您正在声明一个对象
一种非文字的方法是使用一个对象构造函数——一个与new
关键字组合的函数来创建一个新对象。
let myConstructedObject = new Object();
在这里,新的关键字被视为一个新的关键字。因此,myConstructedObject中的数据是表达式计算的结果。我自己也一直在努力解决这个问题。虽然我发现上面的答案很有帮助,但我发现literal
的一个简单定义如下:
在程序设计中,一种完全按照它的意思来解释的值。相反,变量是一个名称,可以在程序执行期间表示不同的值。常量是表示整个程序中相同值的名称。但文字不是名称,而是值本身
文字可以是数字、字符或字符串。例如在表达式中
x=3
x是一个变量,3是一个文本
真正吸引我的是
但文字不是名称,而是值本身。
此外,这也很有帮助。我赞赏这一评论:
基本上是表示程序中某个值的代码,而不是对程序执行有特殊意义的代码。例如:15在程序vs+中的字面意思是15,它具有“将两个东西加在一起”的特殊含义。您不会将+视为表示加号本身,因为它不是文字
这个答案很有帮助:
快速示例:
int my_int_var=723
723-这组字符指的是文字整数值
my_int_var-这组字符表示一个可变整数值
文字{}
与非文字新对象()相反。我想,“literal”在这里是一个名词,就像所有语言中的“number literals”一样。例如,在静态类型语言中,string变量是一个可以保存字符串的变量。字符串文字填充字符串变量。在javascript中,对象可以表示为文字——就像我的示例中的字符串文字一样。这就是我的想法吗?我喜欢这个答案。非常干净,专注于问题。请投我的赞成票。@akh2103基本上是的。听起来不错。您不需要实例化任何类来获取类型为foo
,但可以直接键入,就像字符串和布尔值一样。在Python中,