JavaScript 对象
JavaScript 提供多个内建对象,比如 String、Date、Array 等等。对象只是带有属性和方法的特殊数据类型。
访问对象的属性
属性是与对象相关的值。
访问对象属性的语法是:
objectName.propertyName
objectName[propertyName](什么时候用:要修改的属性不固定)
实例1:
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script>
function setText(name)
{
var oTxt=document['getElementById']('txt1');
//第一种操作属性的方法
//oTxt.value = name;
//第二种操作属性的方法
oTxt['value'] = name;
}
</script>
</head>
<body>
<input id="txt1" type="text" />
<input type="button" value="改变文字" onclick="setText('title')" />
</body>
</html>
实例2:
javascript代码:
function setStyle(name, value)
{
var oDiv=document.getElementById('div1');
oDiv.style[name]=value;
}
HTML代码:
<div id="div1"></div>
<input type="button" value="变宽" onclick="setStyle('width', '400px')" />
<input type="button" value="变高" onclick="setStyle('height', '400px')" />
<input type="button" value="变绿" onclick="setStyle('background', 'green')"/>
var message="Hello World!";
var x=message.length;
这个例子使用了 String 对象的 length 属性来获得字符串的长度:
在以上代码执行后,x 的值将是:12
访问对象的方法
方法是能够在对象上执行的动作。
您可以通过以下语法来调用方法:
objectName.methodName()
这个例子使用了 String 对象的 toUpperCase() 方法来将文本转换为大写:
var message="Hello world!";
var x=message.toUpperCase();
在以上代码执行后,x 的值将是:
HELLO WORLD!
创建 JavaScript 对象
通过 JavaScript,您能够定义并创建自己的对象。
创建新对象有两种不同的方法:
定义并创建对象的实例
使用函数来定义对象,然后创建新的对象实例
创建直接的实例
这个例子创建了对象的一个新实例,并向其添加了四个属性:
实例
person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
实例
person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
核心对象的constructor属性
var test = "str";
//var test = new String();
//var test = new Array();
//var test = true;
//var test = 120;
//var test = new Date();
if (test.constructor==Array){
document.write("This is an Array");
}
if (test.constructor==Boolean){
document.write("This is a Boolean");
}
if (test.constructor==Date){
document.write("This is a Date");
}
if (test.constructor==String){
document.write("This is a String");
}
if(test.constructor==Number){
document.write("This is a Number");
}
if(test.constructor==Date){
document.write("This is a Number");
}
//输出结果: This is a String