在C++中,我已经了解到变量是用于数据存储的,而对象是类的实例。但在JavaScript中,我已经看到人们将变量引用为对象。为什么变量在JavaScript中被称为对象。我对此感到困惑。一般JavaScript疑问
回答
在JavaScript中,一个变量既可以保存单个数据本身(如数字3
或文本字符串如"Having Fun"
),也可以保存对像数组或对象这样的实体的引用。
在JavaScript中的对象本质上是一个JavaScript中的容器。它可以保存多个属性,每个属性都通过一个键访问。例如,一个对象可以有一个名为“name”的属性,其中包含值“Bob”,它也可以包含一个名为“Age”的属性,值为29
。对象可以拥有任意数量的属性。由于这些对象本质上是多个变量的集合,每个变量都有自己的名称和值。
JavaScript中技术上没有“类”,所以它不能像C++那样工作。 Javascript使用原型和对象代替C++中的类和实例。
参照你的问题的具体情况,一个变量可以包含一个值或一个对象的引用。没有对错,这取决于要解决的问题。
一些例子:
var person = {}; // a variable `person` that contains a reference to an empty object
person.name = "Bob"; // add a property "name" and value to the object
person.age = 29; // add a property "age" and value to the object
var numPeople = 12; // a variable that just contains a number
在以下代码中,是否正确说变量formInThePage是一个对象,var Cool是一个存储整数值的变量.'var formOnThePage = { 方法:'post', action:'form.php', 写:tellMeStuff }; var Cool = 2;' – sandbox 2012-02-07 03:15:16
@sandbox - 我认为你在这里争论一些语义。我会同时调用'formOnThePage'和'Cool'变量。 'formOnThePage'包含对象的引用。 'Cool'包含一个简单的数字值。我称之为“formOnThePage”变量的原因是它可以被赋予一个不同的值,例如'formOnThePage = [1,2,3];'或'formOnThePage =“fun”;'。它不是对象本身,只是一个包含对象引用的变量。 – jfriend00 2012-02-07 03:25:13
一个变量是一个容器。一个对象本质上也是一个容器(更多变量)。类被用作对象。因此,变量可以是也可以是类的对象。*基于原型的编程被视为鼓励程序员专注于某些示例集的行为,后来担心对这些对象进行分类* - 这意味着它们都是数据的容器,而不管它们是什么名称:) http: //en.wikipedia.org/wiki/Prototype-based – Joseph 2012-02-07 03:34:28
Javascript是prototype based OOP语言。
基于原型的编程是通过 克隆的过程中进行的面向对象编程 ,其中类的风格不存在和行为重用(被称为基于类的语言 继承)作为原型的现有对象。
在Javascript中,我们使用DOOM对象模型(DOM)来引用网页的不同元素。因此,当我们引用窗口,文档,表单时,它们都是对象,变量被声明为 var x = 0;以下将作为对象分配的示例。 var w = window;
然后wat在这里被称为对象或变量:'var foo = {name:“foo”,one:1,two:2};' – sandbox 2012-02-07 03:18:11
我是试图简单地区分为什么我们把大部分的东西称为C++中的对象而非简单变量。 – 2012-02-07 03:20:00
- 1. 关于二进制文件的一般疑问
- 2. 在原始套接字中使用recvfrom():一般疑问
- 3. 一些一般性的JavaScript问题
- 4. JavaScript语法疑问? (mootools)
- 5. 一般问题
- 6. p:datatable一般问题
- 7. CoreData一般问题
- 8. C++一般问题
- 9. php一般问题
- 10. rsync一般问题
- 11. 疑问
- 12. JavaScript中的一般类型
- 13. 关于导航控制器的一般质疑 - IOS
- 14. 关于javascript,css,ssh,html的疑问
- 15. Windows Azure的一般问题
- 16. 消息框一般问题
- 17. 后记一般问题
- 18. 休眠一般问题
- 19. 一般问题集,python
- 20. Android开发一般问题
- 21. NSLog延迟一般问题?
- 22. SurfaceView/CanvasView一般问题
- 23. 一般循环问题
- 24. 一般lambda语法问题
- 25. Android的一般问题
- 26. Python编程一般问题
- 27. 一般设计问题
- 28. 一般的WordPress问题
- 29. gSOAP和一般SOAP问题
- 30. 痛饮一般问题
你可以把你在谈论你的问题的代码示例? – jfriend00 2012-02-07 03:05:27