js 问题,自定义对象

JavaScript017

js 问题,自定义对象,第1张

不管加没加引号,对象的属性名都是字符串。

但是在调用属性时,如果属性名本身是数值,则不能以 obj.2 这样的形式进行调用,只能用 obj["2"] 这种形式调用。为什么呢,请看下面的例子:

首先,假定 obj.2 这样的调用方式是合法的,那么下面的语句也没问题:

alert(obj.2)

但是,如果改成下面这样的方式呢?

with(obj){

alert(2)

}

这时候你究竟让系统把2作为obj的属性呢,还是纯粹的数字2?

所以,为了防止混淆,js中规定所有的名称(比如变量名、对象名、函数名、属性名等等)都要以字母(或者下划线)开头,不能以数字或其他符号开头(当然纯数字就更不可以了)。其实几乎所有的编程语言都有这样的规定的。

至于自定义对象中的数字形式的键,其实并不算是属性名,我们可以把它理解为类似于数组(数组也是对象)中的序号或者索引号。

再补充说一句:尽可能避免用数字来作为对象的键名!

1.全局对象是预定义的对象,作为 JavaScript 的全局函数和全局属性的占位符。

  通过使用全局对象,可以访问所有其他所有预定义的对象、函数和属性。

  全局对象不是任何对象的属性,所以它没有名称。

2.内部对象是编写自定义代码所用语言的基础, 该代码基于想象实现自定义功能。

  JavaScript 有许多 将其定义为语言的内部对象。本文介绍了一些 最常用的对象,

  并简要介绍了它们有哪些功能以及如何使用这些功能。

3.预定义对象这个像是select,Array等这个都是预定义对象。

function Student(id,name) {

    this.id = id

    this.name =name

    this.total =function (num1,num2) {

        return num1+num2

    }

}

var st = new Student('id1','小王')

console.log(st.id,st.name,st.total(1,2))