自学javascript笔记_自用_解析W3school的代码_JS对象

javascript里的所有事物都是对象。那么这就从类上讲,这就是已经创建内存的类的实体化。类里有自己的变量和方法,那么在JavaScript里就说对象里有属性和方法。这是一脉相承的。但是这里,不论是字符串,数值,还是函数以及数组。都是JavaScript所说的对象。这根C++有很大不同。

JavaScript 提供多个内建对象,比如 String、Date、Array 等等

一个以及被定义的自定义变量,就是一个对象,它有很多已经生成的方法,比如他的长度:

var message="Hello World!";
var x=message.length;
访问对象属性的语法是:

objectName.propertyName

那么访问对象的方法的语法就是:

objectName.methodName()
比如,把字符串里所有小写字母变大写的方法:

var message="Hello world!";
var x=message.toUpperCase();
上面是我们所知道的变量现在变成了对象。

下面创建自己的一个变量即是对象。并设置自己对象的方法和属性。

<!DOCTYPE html>
<html>
<body>

<script>
person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
document.write(person.firstname + " is " + person.age + " years old.");
</script>

</body>
</html>
person就是新的对象。有自己的属性firstname,lastname,age,eyecolor。没有方法

用的时候就如同C++的实例化的类了,不过是通过DOM向页面显示。

person={firstname:"Bill",lastname:"gates",age:56,eyecolor:"blue"}
不过JavaScript提供了一个可以替代的形式来创建对象。用的时候一样的。如上面的代码。
那么这个可以有一个疑问是这可不是面向对象的,这个没法重用代码呀。那么这里就有了一个对象构造器。差不多非常像C++啦

<!DOCTYPE html>
<html>
<body>

<script>
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}

myFather=new person("Bill","Gates",56,"blue");

document.write(myFather.firstname + " is " + myFather.age + " years old.");
</script>

</body>
</html>
另外:对比类的话,不需要继承,可以直接在创建的对象里直接添加新的属性的。
那么添加方法就很好理解了。需要注意的是创建对象和创建方法都是用关键字function。另外相比类,方便的是不需要考虑变量类型。

<!DOCTYPE html>
<html>
<body>
<script>
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
 
this.changeName=changeName;
function changeName(name)
{
this.lastname=name;
}
}

myMother=new person("Steve","Jobs",56,"green");
document.write(myMother.lastname);
myMother.changeName("Ballmer");
document.write("<br>"+myMother.lastname);
</script>

</body>
</html>

但JavaScript不是基于类的。也不创建类,不是通过类来创建对象。只是差不多~~~差不多而已,自己通过C来想JavaScript便于理解。

























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值