1. 程式人生 > 其它 >js筆記整理3

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("我是小明")}
}

屬性: 名: 值,

名:string 就是說x和“x”是一樣的會被隱式轉換為string。
名如果包含了特殊字元(空格也算)那麼必須要加上引號(單引號雙引號都可以)。
字母和數字組合的不用加引號。

物件裡面屬性的基本操作:
增加:修改的時候如果物件裡面沒有這條屬性,那麼會自動加上。
刪除:delete person1.name 刪除person1.name這個屬性。
修改:修改屬性的值。
檢視:獲取屬性的值 有點和括號兩種形式。
name = person1.name;
name = person1[“name”];

點只能檢視沒有帶引號的的屬性名。(person1.name 就可以獲取到person1下面name這個值。如果有一個屬性為first-last,此時person1.first-last是無法檢視該屬性的。只能用person1[“first-last”]才可以。)

在person1(叫小明)裡面加一個物件son(小小明),然後delete person1.son,這時候小小明就不是person1的son了,但是小小明這個人是依舊存在的。兩者之間只是解除了關係,但本身依舊存在。

遍歷:把全部屬性都獲取一遍

for(  in  )  //形式
forvar 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 = 0for(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向下取整。