js筆記整理3
技術標籤:javascript
物件:一堆變數 +一堆函式的集合
例如:
var obj1 = {
x:0,
y:1,
z:function(){console.log("z fuc");}
}
var person1 = {
name:"小明",
sex:"male",
age:"19",
slogan:function() {
console.log("我是小明");
}
}
屬性: 名: 值,
名如果包含了特殊字元(空格也算)那麼必須要加上引號(單引號雙引號都可以)。
字母和數字組合的不用加引號。
物件裡面屬性的基本操作:
增加:修改的時候如果物件裡面沒有這條屬性,那麼會自動加上。
刪除:delete person1.name 刪除person1.name這個屬性。
修改:修改屬性的值。
檢視:獲取屬性的值 有點和括號兩種形式。
name = person1.name;
name = person1[“name”];
點只能檢視沒有帶引號的的屬性名。(person1.name 就可以獲取到person1下面name這個值。如果有一個屬性為first-last,此時person1.first-last是無法檢視該屬性的。只能用person1[“first-last”]才可以。)
遍歷:把全部屬性都獲取一遍
for( in ) //形式
for(var pn in person1){
console.log("person1的屬性名:" + pn + = "person1[pn]")
} (從第一個person1的name開始將所有的屬性都遍歷一遍,也就是全部都列印一遍)
物件的引用和賦值:
var person1 ={
name:"小明",
sex:"male",
age:"19",
slogan:function() {
console.log("我是小明");
}
}
定義變數來使用這個物件
var person1 = 容器很小 只能放下 值 數字 字元
將物件打包,再將地址賦給person1這就叫引用。
所以如果命person2等於person1,(給的地址,而不是屬性)。然後在person2裡面修改屬性的值,相當於改變了地址裡面那麼的值,那麼這時
person1裡面對應的值也會隨之改變。
**用類的形式建立物件:**建立一個person的類,var person2 = new PersonClass();
在ES5裡面是使用的function,但在ES6往後就可以用class了。在這裡先學function。
類:
function PersonClass(){
this.name="小明";
this.sex="male";
this.age="19";
this.slogan = function() {
console.log("我是小明");
}
}
建立好類以後就可以直接建立物件。
var person1 = new PerosnClass();
var person2 = new PerosnClass();
還可以用建構函式方式來傳參:
function PersonClass (pName,pSex,pAge){
this.name = pName;
this.sex = pSex;
this.age = pAge;
this.slogan = function() {
console.log( "我是" + this.name);
}
}
var person1 = new PersonClass("小明","male","19");
系統提供的物件和類:
例如:var obj1 = {}; 和var obj1 = new Object(); 是一樣的。
1.數字轉為字串:
var n1 = 123;
var ste1 = n1.toString();(W3school裡面有轉化的詳細方法)
2.計算程式碼的效能(也就是執行該段程式碼的時間)
var time1 = new Date();//獲取了當前的時間,本地的時間
var t = 0;
for(var i = 0; i<1000000; i++){
t++;
}
var time2 = new Date();
var n = time2.getTime() -time1.getTime(); 執行了多少毫秒。
該段程式碼的意思是計算t++執行一百萬次所需要的時間
3.隨機數:
Math.random() // 隨機出現一個數,不是整數,0到1之間的浮點數。
for(var i = 0; i<10 ;i++)
console.log(Math.floor(Math.random()*10)+1); //取一到十的整數。floor方法,對x向下取整。