js內置對象

標準內置對象

  • 構造器對象

       Object    Boolean    String     Number     Function     Array      RegExp      Date     Errorjavascript

  • 其餘對象

       Math     Json     全局對象html

1. Object

   

     實例化對象的方法java

   

1
var  obj = { 'name' : mary, age: 24};

 Object構造器沒有實例對象屬性和方法正則表達式

     Object.creat      

      -- 基於原型對象建立新對象json

1
2
var  proto = {a:1, b:2};
var  obj = Object.creat(proto);

 Object.prototype.toString

     --獲取方法調用者標準類型數組

1
2
var  obj =  new  Object();
obj.toString();   // "[object Object]"

 Object.prototype.hasOwnProperty

     --判斷一個屬性是不是對象自身屬性app

1
var  obj = {a:1, b:2};<br>obj.c = 3;<br>obj.hasOwnProperty( "c" );  // true<br>obj.hasOwnProperty("a"); // false

 

2. String, Number, Boolean

Boolean

 其餘類型向布爾值轉換dom

        數字: 0, NaN->falseide

        字符串: ""->false函數

        undefined->false

        null->false

   對象->true

String

  字符串的使用

  String.prototype.indexOf

  --獲取子字符串在字符串中的索引位置( 不存在則返回-1 )

  String.prototype.replace

  查找字符串替換成目標字符

   這裏用到了正則表達式.

   String.prototype.split

   --按分割符將字符串分割成字符串數組

Number

Number.prototype.toFixed

--將Num四捨五入爲指定小數位數的數字

  3. Array

  數組的建立

var arr = [1, "a", true, function(){}];
var arr = new Array(1, "a", true, function(){});
  • 構造器對象屬性, 方法

      -- prototype, isArray

  • 原型對象屬性, 方法

      -- constructor, splice, forEach, find, concat, pop, push, reverse, shift, slice...

  • 實例對象屬性, 方法

       -- length

    Array.prototype.splice

    -- 從數組中添加或刪除元素, 返回被刪除的元素列表

      Array.prototype.splice

      -- 遍歷數組元素並調用回調函數

獲得結果依次是: 2     true       5     true        9      true

跳過了空元素.

  4. function

實例化函數方法

       Function.prototype.apply

       -- 經過參數去指定函數的調用者以及函數參數, 而後執行該函數

複製代碼
function Point(x, y) {
       this.x = x;
       this.y = y;
}
Point.prototype.move = function(x, y){
       this.x += x;
       this.y += y;
}
var p = new Point(0, 0);
p.move(2, 2); // 移動到點2
var circle = {x: 1, y: 1, r: 1};
p.move.apply(circle, [2, 1]); //{x: 3, y: 2, r: 1}
複製代碼

      Function.prototype.bind

      -- 一樣是指定函數調用者和函數參數, 但要返回這個函數應引用

在上述代碼基礎上作以下修改:

var circlemove = p.move.bind(circle, 2, 1);
setTimeout(circlemove, 1000); //設置定時器, 讓圓1s以後移動

      自定義對象構造器

      子類構造器

函數調用方式

  • ()
  • apply,  call

函數參數

  • 形參與實參個數不必定相等
  • 值傳遞
  • 經過參數類型來檢查實現函數重載

argument

比較不定數量的數字大小並返回大數:

複製代碼
function max() {
       var _max = arguments[0];
       for(i =0; i < arguments.length; i++) {
            if(_max < arguments[i] {
                 _max = arguments[i];
             }
       }
       return _max;
}
複製代碼

值傳遞

function plus(num) {
       return ++num;
}
var count = 10;
var ret = plus(count);

結果:   ret === 11;  count === 10;

function setname(obj) {
       obj.name = "obama";
}
var president = {name: "bush"};
setname(president);

此時obj 與 president 指向同一個堆對象, obj複製的只是棧對象中的地址,  所以結果爲: {name: "obama"}.

函數重載

5. RegExp, Date, Error

RegExp

定義方法

-- /pattern/flags

-- new RegExp(pattern[, flags]);

test() 方法

-- 使用正則表達式對字符串進行測試,並返回測試結果

var reg = /^abc/i;  // 以abc開頭,忽略大小寫
reg.test("Abc123");  // true
reg.test("ferabc");  // false

Date

定義方法

var date = new Date();
var date = new Date(2018, 3, 10, 7 , 1, 1, 100);

  6. Math, JSON

Math

對象方法

複製代碼
// floor: 向下取整
Math.floor(0.97);  // 0
Math.floor(-5.1);  // -6
// ceil: 向上取整
Math.ceil(1.2);  // 2
// round: 四捨五入
Math.round(3.4);   // 3
// random: 取隨機數, 返回0~1之間的浮點數
Math.random();  //0.4534623634643
Math.random();  //0.2048253468450
複製代碼

JSON

-- 用於存儲和交換文本信息

JSON.stringify

-- 將json對象序列化成字符串

var json = {1:1, 2:'2', 3:{4:4, 5:{6:6}}};
JSON.stringify(json);   // '{"1":1, "2":"2", "3":{"4":"4", "5":{"6":6}}};' 

JSON.parse

-- 將json字符串轉換成json對象

  7. 全局對象

  • .非數字值  NaN

-- 表示錯誤或無心義的運算結果

-- NaN參與運算返回仍然是NaN

-- NaN不等於任何值,包括其自己

-- 能夠用isNaN()判斷運算結果是否爲NaN

  • parseInt

--將字符串轉化爲數字

  • encodedURIComponent

-- 用於將URI參數中的中文,特殊字符等做爲URI的一部分進行編碼

var url = "http: //www.163.com/reg.html?name=" + encodedURIcomponent(name);

相關文章
相關標籤/搜索