大家好,我是小嘟嘟熊,这一节我们来学习如何给对象添加属性,要实现这个功能我们就要调用对象的 prototype 属性,该属性可以向对象添加属性和方法。语法object.prototype.属性名=初始值,
我们来做个实例,
在桌面新建一个文本文档,写入代码:
javascript:
var msg = new ActiveXObject(“WScript.shell”);
/定义一个studinfo(学生信息)结构,分别为姓名,学号,专业*/
function studinfo(sName,studID,pSional){
this.sName = sName;
this.studID = studID;
this.pSional = pSional;
}
/初始化结构*/
var stud = new studinfo(“张三”,2018001,”计算机”);
var str = “没有添加年龄属性时:\n”;
str = str + “姓名:” + stud.sName + “\n”;
str = str + “学号:” + stud.studID + “\n”;
str = str + “专业:” + stud.pSional + “\n\n”;
//使用ptototype添加新属性
studinfo.prototype.age = null;
//给新属性age赋值
stud.age = 18;
str = str + “添加年龄属性后:\n”;
str = str + “姓名:” + stud.sName + “\n”;
str = str + “学号:” + stud.studID + “\n”;
str = str + “专业:” + stud.pSional + “\n”;
str = str + “年龄:” + stud.age + “\n”;
msg .popup(str,1,”js基础:prototype添加属性”,64);
上图中可以看到,先是定义了一个studinfo(学生信息)的对象,然后定义一个stud引用了它,并给它的属性成员赋值,后面用到了prototype给它添加一个age属性,值为18,
运行后如上图,消息提示没添加属性,和添加属性后的值,大家可以试一下,在没添加age属性时,强行输出看看有什么效果
结果是undefined(没有定义)
在Array中还有3个属性, toString 和tolocaleString,这两个和之前的join差不多,tostring可把数组转换为 字符串 ,并返回结果。
tolocaleString把数组转换为本地字符串。
做个例子,在文档里写入代码
var Arr = new Array(3);
Arr[0]=”语文”;
Arr[1]=”数学”;
Arr[2]=”英语”;
//先用toString输出数据
str = “toString输出:” + Arr.toString()+ “\n”;
str = str + “toLocaleString输出:” + Arr.toLocaleString()+ “\n”;
msg.popup(str,1,”js基础:把数组转为字符串”,64);
按F5运行后如下图消息框提示
Array的unshift属性就是在数组前面插入一个或多个元素,参数必须有一个,做个实例,在 文本框 里写入代码
Arr.unshift(“美术”,”物理”);
msg.popup(“插入新元素后;” + Arr,1,”js基础:使用unshift插入数组”,64);
运行后,在语文前面多了两个元素,”美术”,”物理”