1.字面量的方式
var per1=,
readbook:function ()
};
2.呼叫系統的建構函式
var per2=new object();
per2.name="大蛇丸";
per2.age=30;
per2.***="男";
per2.eat=function () ;
per2.play=function () ;
3.自定義建構函式的方式
function person(name,age,***) ;
}var per=new person("雛田",18,"女");
console.log(per instanceof person);
function createobject(name,age) ;
return obj;
}function person(name,age) ;
}//建立物件---->例項化乙個物件,的同時對屬性進行初始化
/** 共同點:都是函式,都可以建立物件,都可以傳入引數
** 工廠模式:
* 函式名是小寫
* 有new,
* 有返回值
* new之後的物件是當前的物件
* 直接呼叫函式就可以建立物件
** 自定義建構函式:
* 函式名是大寫(首字母)
* 沒有new
* 沒有返回值
* this是當前的物件
* 通過new的方式來建立物件
1.例項物件是通過建構函式建立的--建立的過程叫做例項化
2.如何判斷物件是不是這個資料型別?
1)通過構造器的方式 例項物件.構造器==建構函式的名字
console.log(dog.constructor==animal);
2)物件 intanseof 建構函式名字
console.log(dog instanceof person);
盡可能的使用第二種方式來識別,為什麼?原型講完再說
* 原型?
* 例項物件中有__proto__這個屬性,叫原型,也是乙個物件,這個屬性是給瀏覽器使用,不是標準的屬性----->__proto__----->可以叫原型物件
* 建構函式中有prototype這個屬性,叫原型,也是乙個物件,這個屬性是給程式設計師使用,是標準的屬性------>prototype--->可以叫原型物件
** 例項物件的__proto__和建構函式中的prototype相等--->true
* 又因為例項物件是通過建構函式來建立的,建構函式中有原型物件prototype
* 例項物件的__proto__指向了建構函式的原型物件prototype
* * 原型---->__proto__或者是prototype,都是原型物件,
* 原型的作用:共享資料,節省記憶體空間
建構函式可以例項化物件
建構函式中有乙個屬性叫prototype,是建構函式的原型物件
建構函式的原型物件(prototype)中有乙個constructor構造器,這個構造器指向的就是自己所在的原型物件所在的建構函式
例項物件的原型物件(__proto__)指向的是該建構函式的原型物件
建構函式的原型物件(prototype)中的方法是可以被例項物件直接訪問的
//什麼樣子的資料是需要寫在原型中?
//需要共享的資料就可以寫原型中
//原型的作用之一:資料共享
//屬性需要共享,方法也需要共享
//不需要共享的資料寫在建構函式中,需要共享的資料寫在原型中
//建構函式
function student(name,age,***)
//所有學生的身高都是188,所有人的體重都是55
//所有學生都要每天寫500行**
//所有學生每天都要吃乙個10斤的西瓜
//原型物件
student.prototype.height="188";
student.prototype.weight="55kg";
student.prototype.study=function () ;
student.prototype.eat=function () ;
//例項化物件,並初始化
var stu=new student("晨光",57,"女");
console.dir(student);
console.dir(stu);
// stu.eat();
// stu.study();
function student(name, age, ***)
//簡單的原型寫法
student.prototype = ,
eat: function ()
};var stu=new student("段飛",20,"男");
stu.eat();
stu.study();
console.dir(student);
console.dir(stu);
function animal(name,age)
//原型中新增方法
animal.prototype.eat=function () ;
animal.prototype.play=function () ;
animal.prototype.sleep=function () ;
var dog=new animal("小蘇",20);
dog.eat();
function person(age,***) ;
}person.prototype.***="女";
person.prototype.eat=function () ;
var per=new person(20,"男");
console.log(per.***);//男
per.eat();
console.dir(per);
/** 例項物件使用的屬性或者方法,先在例項中查詢,找到了則直接使用,找不到則,去例項物件的__proto__指向的原型物件prototype中找,找到了則使用,找不到則報錯**
* */
//為內建物件新增原型方法
// var arr=new array(10,20,30,40,50);
// arr.join("|");
// console.dir(arr);
////
// var str=new string("哦,嘜嘎的");
// str.indexof("哦");
// console.dir(str);
////
// var dt=new date();
// dt.getfullyear();
// console.dir(dt);
//例項中的方法如果沒有,去建立該例項物件的建構函式的原型物件中找
//我們能否為系統的物件的原型中新增方法,相當於在改變原始碼
//我希望字串中有乙個倒序字串的方法
string.prototype.myreverse=function ()
};var str="abcdefg";
str.myreverse();
//為array內建物件的原型物件中新增方法
array.prototype.mysort=function () )(window);
//例項化隨機數物件
var rm=new random();
//呼叫方法產生隨機數
console.log(rm.getrandom(0,5));
//全域性變數
js基礎第一天
js的介紹 js是什麼 js是一門指令碼語言 解釋性語言 動態型別語言 基於物件語言 編譯語言 需要把 翻譯成計算機所認知的二進位制語言,才能夠執行 指令碼語言 不需要編譯,直接執行 常見的指令碼語言 t sql,cmd js的作用 解決使用者和瀏覽器之間的互動問題 的寫法 宣告乙個物件 var o...
第一天 SSIS 高階研討
extract 抽取 transformation 轉換 loading 載入 理解ssis的控制流和資料流 控制流是整個工作流程 而資料流是控制流中的一部分 典型業務場景 動手實驗 簡單範例 使用dtswizard匯出資料,儲存ssis包,再次執行,檢視dtsx檔案 1.把伺服器中的乙個資料庫的 ...
js物件導向第一天
1 物件導向?物件導向是一種程式設計思想。類 具有相同特徵的一類事物,js中有很多內建類,我們也可以自己建立類 物件 通過類建立出物件,是具體的,js中有很多的物件,我們也可以自己去建立物件 2 類?js中提供很多類,如number string,boolean,object,math,date,通...