JS建立物件的幾種建立方式
第一種模式:工廠方式
Js程式碼- var lev=function(){
- return"啊打";
- };
- function Parent(){
- var Child = new Object();
- Child.name="李小龍";
- Child.age="30";
- Child.lev=lev;
- return Child;
- };
- var x = Parent();
- alert(x.name);
- alert(x.lev());
說明:
1.在函式中定義物件,並定義物件的各種屬性,,雖然屬性可以為方法,但是建議將屬性為方法的屬性定義到函式之外,這樣可以避免重複建立該方法
2.引用該物件的時候,這裡使用的是 var x = Parent()而不是 var x = new Parent();因為後者會可能出現很多問題(前者也成為工廠經典方式,後者稱之為混合工廠方式),不推薦使用new的方式使用該物件
3.在函式的最後返回該物件
4.不推薦使用這種方式建立物件,但應該瞭解
第二種模式:建構函式方式
Js程式碼- var lev=function(){
- return"啊打";
- };
- function Parent(){
- this.name="李小龍";
- this.age="30";
- this
- };
- var x =new Parent();
- alert(x.name);
- alert(x.lev());
說明:
1.與工廠方式相比,使用建構函式方式建立物件,無需再函式內部重建建立物件,而使用this指代,並而函式無需明確return
2.同工廠模式一樣,雖然屬性的值可以為方法,扔建議將該方法定義在函式之外
3..同樣的,不推薦使用這種方式建立物件,但仍需要了解
第3種模式:原型模式
Js程式碼- var lev=function(){
- return"啊打";
- };
- function Parent(){
- };
- Parent.prototype.name="李小龍";
- Parent.prototype.age="30";
- Parent.prototype.lev=lev;
- var x =new Parent();
- alert(x.name);
- alert(x.lev());
說明:
1.函式中不對屬性進行定義
2.利用prototype屬性對屬性進行定義
3.同樣的,不推薦使用這樣方式建立物件
第四種模式:混合的建構函式,原型方式(推薦)
Js程式碼- function Parent(){
- this.name="李小龍";
- this.age=32;
- };
- Parent.prototype.lev=function(){
- returnthis.name;
- };;
- var x =new Parent();
- alert(x.lev());
說明:1.該模式是指混合搭配使用建構函式方式和原型方式
2.將所有屬性不是方法的屬性定義在函式中(建構函式方式)
將所有屬性值為方法的屬性利用prototype在函式之外定義(原型方式)
3.推薦使用這樣方式建立物件,這樣做有好處和為什麼不單獨使用建構函式方式和原型方式,由於篇幅問題這裡不予討論
第五種模式:動態原型方式
Js程式碼- function Parent(){
- this.name="李小龍";
- this.age=32;
- ;
- if(typeof Parent._lev=="undefined"){
- Parent.prototype.lev=function(){
- returnthis.name;
- }
- Parent._lev=true;
- }
- };
- var x =new Parent();
- alert(x.lev());
說明:
1.動態原型方式可以理解為混合建構函式,原型方式的一個特例
2.該模式中,屬性為方法的屬性直接在函式中進行了定義,但是因為
Js程式碼- if(typeof Parent._lev=="undefined"){
- Parent._lev=true;}
從而保證建立該物件的例項時,屬性的方法不會被重複建立
3.,推薦使用這種模式
相關推薦
JS建立物件幾種不同方法詳解
1、工廠模式 弊端:沒有解決物件的識別問題,即怎麼知道一個物件的型別。 2、建構函式模式 與工廠模式相比: 1、沒有顯式的建立物件 2、直接將屬性和方法賦給了this物件 3、沒有return語句 要建立person的例項,必須使用new操作符,
JS建立物件的幾種建立方式
第一種模式:工廠方式 Js程式碼 var lev=function(){ return"啊打"; }; function Parent(){ var Child = new Object(); Ch
js建立物件的幾種常用方式
第一種模式:工廠方式 Js程式碼 var lev=function(){ return "啊打"; }; function Parent(){ var Child = new Object(); Child.name="李小龍";
JS 之函式定義 & 建立物件 三種方式
JS函式建立三種方式 JS建立物件三種方式 一、javaScript 函式建立的三種方式 <html> <head> <meta http-equiv="Content-Type" content="text/htm
前端中物件的幾種建立方式
1.字面量建立(JSON格式建立)建立了一個名字為obj1的空物件 var obj1 = {}; 可以通過.語法或者[]語法為物件新增屬性或方法. obj1.name = '小白'; obj1.ag
深入研究Spring-IoC :容器建立的幾種方式
1.前言 本文為對tiny-spring的學習解讀,程式碼參考自tiny-spring。一個手寫的Spring簡易版框架。 前面已經提到了Spring IOC容器的建立大致分為3個步驟。但是這個三個步驟是有一個演進的過程的,Spring容器建立方式前後有6種,從最基本的例項化建立
Spring框架幾種建立bean的方式
Spring框架下,Bean的建立和裝配非常的靈活,提供了三種主要的方式,並且相互見可以互相看見,也就是你可以隨意地採用你喜歡且合適的方式建立Bean,而不用擔心他們之間的相容問題。 一、使用XML顯示配置Bean
vue常用建立元件幾種方式總結
最近一週需要使用vue開發一個谷歌擴充套件外掛,但是又不能在vue-cli腳手架中開發,所以只能單獨引入vue.js整個包進行指令碼植入開發。引入vue.js就代表著不能用import、require之類的引入單檔案元件檔案,只能在檔案中開發,或者多個js檔案分先後順序植入開發,然後就出現了一個尷尬
spark-sql的幾種建立方式
Spark 1.x //spark sql 用來處理結構化資料 類似資料庫中的表一樣儲存資料 Spark1.x val sc =new SparkContext(conf) val sqlContext=new SQLContext(sc) //將RDD和schema資訊關聯到一起
執行緒和程序的關係 ----執行緒建立有幾種方式
程序是一個應用程式在處理機上的一次執行過程,他是一個動態的概念 ,執行緒是程序的一部分是程式執行的最小單元 一個程序中有多個執行緒 個人理解 :  
Spring Boot專案幾種建立方式
Spring Boot為新一代開發框架,關於框架的詳細資訊,各位可以網上自行搜尋,本篇博文主要介紹一下如何建立一個Spring Boot的專案。因為本次介紹的幾種建立方式都是基於Maven的,所以請各位看官再繼續閱讀之前請先準備好Maven的環境,好了,下面我們
python建立子程序的幾種常用方式(fork, Process,程序池)
linux下使用fork()建立子程序 Linux 作業系統提供了一個 fork() 函式用來建立子程序,這個函式很特殊,呼叫一次,返回兩次,因為作業系統是將當前的程序(父程序)複製了一份(子程序),然後分別在父程序和子程序內返回。子程序永遠返回0,而父程
struts2建立action幾種方式有什麼區別?
當我們在寫action的時候,可以實現Action介面,也可以繼承Actionsupport這個類.到底這兩個有什麼區別呢? Action介面有: public static final java.lang.String SUCCESS = "success"; publ
詳解億級大資料表的幾種建立分割槽表的方式
自5.1開始對分割槽(Partition)有支援,一張表最多1024個分割槽 查詢分割槽資料: SELECT * from table PARTITION(p0) 水平分割槽(根據列屬性按行分) 舉個簡單例子:一個包含十年發票記錄的表可以被分割槽為十個不同的分割槽,每個分割槽包含的是其中一年的記錄。
詳解億級大數據表的幾種建立分區表的方式
bsp 鍵值 最後一行 空間 mar key 用戶 ssi war 自5.1開始對分區(Partition)有支持,一張表最多1024個分區 查詢分區數據: SELECT * from table PARTITION(p0) 水平分區(根據列屬性按行分) 舉個簡單例子
json建立的幾種方式的示例
JSON(JavaScript Object Notation)一種簡單的資料格式,比xml更輕巧。JSON是JavaScript原生格式,這意味著在JavaScript中處理JSON資料不需要任何特殊的API或工具包。 JSON的規則很簡單:物件是一個無序的“‘名稱/
客觀面試題--8.執行緒的生命週期是什麼?執行緒建立有幾種方式?
1.執行緒的生命週期執行緒是一個動態執行的過程,它也有一個從產生到死亡的過程。(1)生命週期的五種狀態新建(new Thread)當建立Thread類的一個例項(物件)時,此執行緒進入新建狀態(未被啟動)。例如:Thread t1=new Thread();就緒(runna
執行緒的幾種建立方式並實現賣票功能
本篇簡單的講下執行緒的幾種建立方式並相應的實現售票功能一、執行緒建立public class ThreadTest { public static void main(String[] args) throws InterruptedException, Executio
建立物件五種方式&&new關鍵字和newInstance()方法的區別
轉載:http://www.kuqin.com/shuoit/20160719/352659.html 用最簡單的描述來區分new關鍵字和newInstance()方法的區別: newInstance: 弱型別。低效率。只能呼叫無參構造。 new: 強型別。相對高效。能呼叫
總結幾種建立執行緒的方式
//第一種: new Thread(){ public void run(){ System.out.println("haha"); } }.start(); //第二種: new Thread(new Runnable(){ @Override public void