JS對象
創建 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"};
- 使用構造器創建對象,和java類似了,直接創建對象,賦值調用封裝方法
<!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>
把屬性添加到 JavaScript 對象
您可以通過為對象賦值,向已有對象添加新屬性:假設 personObj 已存在 - 您可以為其添加這些新屬性:firstname、lastname、age 以及 eyecolor:
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
x=person.firstname;
把方法添加到 JavaScript 對象
方法只不過是附加在對象上的函數。
在構造器函數內部定義對象的方法:
<!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");
myMother.changeName("Ballmer");
document.write(myMother.lastname);
</script>
</body>
</html>
JS數字
JavaScript Number 對象
JavaScript 只有一種數字類型。可以使用也可以不使用小數點來書寫數字。
極大或極小的數字可通過科學(指數)計數法來寫:
var y=123e5; // 12300000
var z=123e-5; // 0.00123
所有 JavaScript 數字均為 64 位
JavaScript 不是類型語言。與許多其他編程語言不同,JavaScript 不定義不同類型的數字,比如整數、短、長、浮點等等。
JavaScript 中的所有數字都存儲為根為 10 的 64 位(8 比特),浮點數。
JS字符串屬性
轉大寫
txt.toUpperCase()
更改樣式
<html>
<body>
<script type="text/javascript">
var txt="Hello World!"
document.write("<p>Big: " + txt.big() + "</p>")
document.write("<p>Small: " + txt.small() + "</p>")
document.write("<p>Bold: " + txt.bold() + "</p>")
document.write("<p>Italic: " + txt.italics() + "</p>")
document.write("<p>Blink: " + txt.blink() + " (does not work in IE)</p>")
document.write("<p>Fixed: " + txt.fixed() + "</p>")
document.write("<p>Strike: " + txt.strike() + "</p>")
document.write("<p>Fontcolor: " + txt.fontcolor("Red") + "</p>")
document.write("<p>Fontsize: " + txt.fontsize(16) + "</p>")
document.write("<p>Lowercase: " + txt.toLowerCase() + "</p>")
document.write("<p>Uppercase: " + txt.toUpperCase() + "</p>")
document.write("<p>Subscript: " + txt.sub() + "</p>")
document.write("<p>Superscript: " + txt.sup() + "</p>")
document.write("<p>Link: " + txt.link("http://www.w3school.com.cn") + "</p>")
</script>
</body>
</html>
JS日期
- 返回當前日期
<html>
<body>
<script type="text/javascript">
document.write(Date())
</script>
</body>
</html>
- getTime(),返回從 1970 年 1 月 1 日至今的毫秒數。
<html>
<body>
<script type="text/javascript">
var d=new Date();
document.write("從 1970/01/01 至今已過去 " + d.getTime() + " 毫秒");
</script>
</body>
</html>
- setFullYear(),如何使用 setFullYear() 設置具體的日期。
<html>
<body>
<script type="text/javascript">
var d = new Date()
d.setFullYear(1992,10,3)
document.write(d)
</script>
</body>
</html>
- toUTCString(),使用 toUTCString() 將當日的日期(根據 UTC)轉換為字符串。
<html>
<body>
<script type="text/javascript">
var d = new Date()
document.write (d.toUTCString())
</script>
</body>
</html>
- getDay(),使用 getDay() 和數組來顯示星期,而不僅僅是數字
<html>
<body>
<script type="text/javascript">
var d=new Date()
var weekday=new Array(7)
weekday[0]="星期日"
weekday[1]="星期一"
weekday[2]="星期二"
weekday[3]="星期三"
weekday[4]="星期四"
weekday[5]="星期五"
weekday[6]="星期六"
document.write("今天是" + weekday[d.getDay()])
</script>
</body>
</html>
- 顯示一個鐘表
<html>
<head>
<script type="text/javascript">
function startTime()
{
var today=new Date()
var h=today.getHours()
var m=today.getMinutes()
var s=today.getSeconds()
// add a zero in front of numbers<10
m=checkTime(m)
s=checkTime(s)
document.getElementById('txt').innerHTML=h+":"+m+":"+s
t=setTimeout('startTime()',500)
}
function checkTime(i)
{
if (i<10)
{i="0" + i}
return i
}
</script>
</head>
<body onload="startTime()">
<div id="txt"></div>
</body>
</html>
定義日期
var myDate=new Date()
JS數組
創建數組
<html>
<body>
<script type="text/javascript">
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
for (i=0;i<mycars.length;i++)
{
document.write(mycars[i] + "<br />")
}
</script>
</body>
</html>
For...In循環數組
<html>
<body>
<script type="text/javascript">
var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
for (x in mycars)
{
document.write(mycars[x] + "<br />")
}
</script>
</body>
</html>
合并數組,arr.concat(arr2)
<html>
<body>
<script type="text/javascript">
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"
document.write(arr.concat(arr2))
</script>
</body>
</html>
將數組元素組成一個字符串,join
<html>
<body>
<script type="text/javascript">
var arr = new Array(3);
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join());
document.write("<br />");
document.write(arr.join("."));
</script>
</body>
</html>
sort() 方法從字面上對數組進行排序,自然排序(數字可以針對大小排序)
<html>
<body>
<script type="text/javascript">
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
document.write(arr + "<br />")
document.write(arr.sort())
</script>
</body>
</html>
JS邏輯(Boolean對象)
您可以將 Boolean 對象理解為一個產生邏輯值的對象包裝器。
Boolean(邏輯)對象用于將非邏輯值轉換為邏輯值(true 或者 false)。
創建Boolean對象
var myBoolean=new Boolean()
如果邏輯對象無初始值或者其值為 0、-0、null、""、false、undefined 或者 NaN,那么對象的值為 false。否則,其值為 true(即使當自變量為字符串 "false" 時)!
var myBoolean=new Boolean();
var myBoolean=new Boolean(0);
var myBoolean=new Boolean(null);
var myBoolean=new Boolean("");
var myBoolean=new Boolean(false);
var myBoolean=new Boolean(NaN);
初始值全部為true
var myBoolean=new Boolean(1);
var myBoolean=new Boolean(true);
var myBoolean=new Boolean("true");
var myBoolean=new Boolean("false");
var myBoolean=new Boolean("Bill Gates");
JS算數
- Math 對象的 round 方法對一個數進行四舍五入。
document.write(Math.round(4.7))
- Math 對象的 random() 方法來返回一個介于 0 和 1 之間的隨機數
document.write(Math.random())
- 使用了 Math 對象的 floor() 方法和 random() 來返回一個介于 0 和 10 之間的隨機數
document.write(Math.floor(Math.random()*11))