javaScript第六天(1)

JavaScript基礎

核心知識點

  • 對象
    • 4種創建對象的方式
    • 操作對象(取值,賦值)

今日學習目標

  • 能夠使用對象方式保存數據
  • 能夠理解自定義構造函數如何創建對象
  • 能夠獲取對象中的值及給對象賦值

對象

思考: 如何通過js函數將人的信息輸出?

什么是對象?

?現實世界: 萬事萬物皆對象。?對象: 必須是一個具體的事物。 (手機,汽車不是對象,屬于一類對象)◆ 對象是由 特征(名詞)【屬性】 和 行為(動詞)【方法】?程序中的對象: 對現實對象的抽象? 總結:
1. 程序中的對象:? 對象必須有對應的屬性【描述對象的特點,在程序中一般使用名詞描述】? 對象必須有行為動作方法 【方法用來描述具體對象的行為動作,一般方法使用動詞】

對象字面量創建對象

? 通過字面量方式創建對象var  變量名  =  {  key: value, key: value,  key: functon () {}  };備注:1. 創建對象,必須要確定具體的事物2. 創建對象,必須要確定對象有哪些屬性【特征】或者方法【動作,行為】3. 如果一次想要輸出多個對象,那么可以將每一個對象放到一個數組中。? 訪問對象屬性    (對象.屬性   |  對象['屬性名'])
? 訪問對象方法    (對象.方法名)注意:1、 如果通過  對象['屬性名']訪問對象的屬性時候,必須保證使用字符串格式? 函數:獨立存在的函數? 方法: 屬于對象的函數(匿名函數)

課堂練習

1. 創建一個英雄對象? 姓名? 年齡? 職業? 武器裝備 (weapon)? 愛好? 技能 (移動, 攻擊(attack))

通過Object創建對象

?   var  變量  =  new Object();1. Object 是一個構造函數2. 通過new調用構造函數? 添加屬性:對象變量.屬性名 =;? 添加方法:
對象變量.方法名 =  function () {}

工廠方式創建對象

 1. 思考如何創建多個游戲對象?2. 例如:
function  create ( name, age, height ) {
var  Ob = new Object()Ob.name = name;Ob.age = age;Ob.height = height;Ob.eat = function () {}return Ob;
}

自定義構造函數創建對象

? 使用帕斯卡命名法 (每個單詞首字母大寫)? 例如:
function  CreateHero ( name, age, height ) {this.name = name;this.age = age;this.height = height;}? 課堂案例:1. 使用自定義構造函數方式創建3個對象,并添加到數組中 【對象基本的屬性有: name, age, gender】

new 關鍵字執行過程

1. 在內存中創建一個空對象
2. this指向創建的對象
3. 執行函數
4. 返回當前對象注意:1. 在構造函數中,默認的返回值就是當前創建的對象

this關鍵字

1. 普通函數中的this     指向Window
2. 在方法中的this	   指向當前方法所屬的對象
3. 在構造函數的this	  指向創建的對象
總結:構造函數誰調用函數,this就指向誰

遍歷對象刪除對象屬性

? 通過   for   in  遍歷 對象的成員? 遍歷對象中的屬性? 遍歷對象中的值

對象案例

1. 通過構造函數創建3個對象,并將3個對象放到數組中,最后再將數組中每一個對象的信息輸出。
備注:?對象的信息需要從用戶輸入中獲取

檢測對象的數據類型

對象  instanceof  構造函數

對象總結

 1. 程序中的對象: 在程序中對具體事物的抽象2. 對象的基本的組成:  屬性【描述對象特征特點】  |  方法 【描述對象行為動作功能】3. 創建對象方式:? 字面量方式var  obj = {key : 值,key : function () {}}? 通過構造函數var  obj = new Object();	obj.自定義屬性名 =;obj.自定義方法名 = function () {}? 工廠模式創建對象(本質就是對第二種方式的封裝,創建多個對象)function people (name) {var obj = new Object();obj.自定義屬性名 = name;return obj}var zs = people('zs');? 自定義構造函數創建對象(確定對象的類型)function People (name) {this.自定義屬性名 = name;}var zs  = new People('zs');4. 對象的基本操作? 獲取對象的屬性或方法1.  對象.自定義屬性名  ||  對象['屬性名']2.  對象.自定義方法名()5. 判斷對象的具體類型對象名稱  instanceOf  構造函數

其他擴展部分

簡單數據類型在內存中的存儲

  ? 簡單數據類型(值類型) 存儲在內存的 棧 上? Number  String   Boolean  Null Undefined? 分析簡單數據類型在內存中的存儲方式var  n1 = 10;var  n2 = n1;

復雜數據類型在內存中的存儲

  ? 復雜數據類型(引用類型) 存儲在內存的 堆 上?  Object | Array | 函數

簡單數據類型作為函數的參數在內存存儲

 ?  分析案例代碼function  fn ( a, b ) {a = a+1;b = b+1;console.log( a );console.log( b );}var  x = 10var  y = 5;fn(x, y);console.log( x, y );   思考:x , y 的值是多少?

復雜數據類型作為函數的參數在內存存儲

  ? function Person ( name, age ) {this.name =  name; this.age = age;this.sayHi = function () {console.log( "你好" );}}var p1 = new Peron( "張三", 18 );function getperson ( person ) {person.name = "李四";}getperson( p1 );console.log( p1.name );   思考: p1 的name值是什么?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248270.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248270.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248270.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Reversing-x64Elf-100

一道很簡單的小題 作為python小白這道題主要是學習了一點python知識...... 可以看出來 sub_4006FD 這個函數是用來判斷輸入密碼是否正確的 我們看一下它的偽代碼: signed __int64 __fastcall sub_4006FD(__int64 a1) {signed int i; // [rsp14h] [rbp-24h]const ch…

javaScript第六天(2)

07-javaScript基礎 ? 函數其他部分 arguments [掌握] arguments 作用? 解決當函數的形參個數不確定的時候,通過arguments獲取實參的值如何使用arguments 獲取用戶傳遞實參的值? arguments 在函數中就是用來保存實參信息的偽數組 (可以按照數組的方式去遍歷, 但是不能使用數…

論wpf的設備無關性 - 簡書

論wpf的設備無關性 - 簡書 原文:論wpf的設備無關性 - 簡書 WPF從發布之日起,一直將“分辨率無關(resolution independence)”作為其亮點,聲稱使用WPF制作的用戶界面在輕巧的Ultra-Mobile PC的屏幕上和在50英寸的電視機上都能很好地顯示。微軟之所以稱WPF…

暑期學習總結6

本周書面學習時間大概6小時,代碼上5小時,java的基礎知識已經基本都學過一遍了,剩下的就是要鞏固,進行了一些實例操作,過程還算滿意,類的運用已經掌握了很多,現在已經習慣了java的類定義方法&…

javaScript第七天(1)

JavaScript基礎 核心知識點 Math對象中的方法數組對象中的方法字符串中的方法 今日學習目標 能夠掌握Math對象中的相關方法能夠掌握數組對象中的push方法能夠掌握操作字符串的方法 內置對象介紹 ? JavaScript組成: ECMAScript | DOM | BOM ? ECMA…

ISLR學習筆記(2)線性回歸

第三章 幾種常見的線性模型 1、簡單線性回歸 Y≈β0β1X 2、多元線性回歸 Y≈β0β1X1β2X2... 3、擴展線性回歸 Y≈β0β1X1β2X2β3X1X1 克服了多元線性模型 X1X1 與 X2X2 不協同作用的假設。 4、多項式回歸 Y≈β0β1X1β2X12β3log(X1)β4√X4 轉載于:https://www.cnblog…

淺談Aho-Corasick automaton(AC自動機)

Aho-Corasick automaton是什么? 要學會AC自動機,我們必須知道什么是Trie,也就是字典樹。Trie樹,又稱單詞查找樹或鍵樹,是一種樹形結構,是一種哈希樹的變種。典型應用是用于統計和排序大量的字符串&#xff…

javaScript第七天(2)

javaScript基礎 ? 對象其他部分 [理解] 自定義構造函數創建對象[掌握] //繼續簡化 自定義構造函數 function People(uName, uAge) {this.uName uName;this.uAge uAge; } // 如何通過自定義構造函數創建對象? var zs new People(張三, 20); console.log(zs);注意事項: 自定…

數據挖掘、機器學習書籍推薦!!

強烈推薦:《機器學習》 (西瓜書) 入門讀物: 《深入淺出數據分析》 這書挺簡單的,基本的內容都涉及了,說得也比較清楚,最后談到了R是大加分。難易程度:非常易。 《啤酒與尿布》 通過案例來說事情&#xff0c…

樓蘭圖騰(權值線段樹)

在完成了分配任務之后,西部314來到了樓蘭古城的西部。 相傳很久以前這片土地上(比樓蘭古城還早)生活著兩個部落,一個部落崇拜尖刀(‘V’),一個部落崇拜鐵鍬(‘∧’),他們分別用V和∧的形狀來代表各自部落的圖騰。 西部314在樓蘭古…

js(Dom+Bom)第一天(1)

JavaScript-DOM(BOM)操作 核心知識 獲取頁面元素事件設置樣式 學習目標 能夠使用id名,標簽名等方式獲取頁面中元素能夠給標簽注冊點擊事件,并實現對應效果能夠給標簽通過js方式設置樣式 JavaScript組成 ECMASCRIPT (基礎語法) DOM(文檔對…

[HZNOI #koishi] Magic

[HZNOI #514] Magic 題意 給定一個 \(n\) 個點 \(m\) 條邊的有向圖, 每個點有兩個權值 \(a_i\) 和 \(b_i\), 可以以 \(b_i\) 的花費把第 \(i\) 個點的 \(a_i\) 變成 \(0\). 最后每個點 \(i\) 產生的花費為所有從 \(i\) 出發能通過一條有向邊直接到達的點 \(j\) 的 \(a_j\) 的 \…

同步與異步

同步: 做完一件事,再做另一件 煮好水,再拆泡面包裝 異步: 可以同時做好幾個任務 燒水,打開火之后,先去拆泡面包裝,等水開了,再停下拆包裝,去關掉火。。。。。 轉載于:htt…

js(Dom+Bom)第一天(2)

webAPI 00-復習 內置對象中的方法 01-JavaScript組成 知識點-ECMASCRIPT 重點回顧 存儲容器 變量數組對象 邏輯語法 分支語句循環語句switch語句 知識點-BOM 概念 Browser Object Model (瀏覽器器對象模型) 操作瀏覽器將瀏覽器看做是一個對象.作用 通過js操作瀏覽器中相…

mysql 主主復制的配置流程

1、先關閉B,把A的數據導出來,mysqldump -hlocalhost -uroot -p123456 --database ibprpu >ibprpu.sql2、關閉A,啟動B,進入mysql建立一個新的數據庫 create database ibprpu3、導入數據庫 mysql -hlocalhost -uroot -p123456 &l…

華為架構師8年經驗談:從單體架構到微服務的服務化演進之路

本次分享的技術大綱如下: 傳統應用開發面臨的挑戰服務化實踐服務化不是銀彈服務化架構的演進方向一 、傳統應用開發面臨的挑戰 挑戰1-- 研發成本高 主要體現在如下幾個方面: 代碼重復率高在實際項目分工時,開發都是各自負責幾個功能&#xff…

輪播圖制作(1)

輪播圖制作 <body><div><img src"img/1.jpg" class"imgs" alt""><a href"#" class"left"><</a> //此處的箭頭也可以用圖標做出來<a href"#" class"right">>…

StringUtils工具類的常用方法

StringUtils 方法的操作對象是 java.lang.String 類型的對象&#xff0c;是 JDK 提供的 String 類型操作方法的補充&#xff0c;并且是 null 安全的(即如果輸入參數 String 為 null 則不會拋出 NullPointerException &#xff0c;而是做了相應處理&#xff0c;例如&#xff0c…

struts2+extjs文件上傳完整實現(攻克了上傳中的各種問題)

版權聲明&#xff1a;本文為博主原創文章。未經博主同意不得轉載。 https://blog.csdn.net/shanhuhau/article/details/28617999 首先須要引入上傳控件 <script type"text/javascript" src"<%basePath%>/js/ext/examples/ux/fileuploadfield/FileUploa…

放大鏡制作(1)

放大鏡制作 <div class"box" id"box"><!--左側的盒子--><div class"small"><!--圖片--><img src"images/big.jpg" width"350" class"aaa" alt""/><!--黃色小盒子--&…