• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • this

    標簽: javascript

    this

    1)我們在JS中主要研究的都是函數中的this
    2)js中的this代表的是當前行為執行的主體
    3)JS中的this代表的是當前行為執行的主體:js中的context代表的是當前行為執行的環境(區域)
    4)this是誰和函數在哪里定義的和在哪里執行的都沒有任何關系

    如何區分 this
    1)函數執行,首先看函數名前面是否有"."前面是誰this就是誰;沒有的話this就是window
    2)自執行函數的this是window,無論在哪都是window
    3)在構造函數中的this是當前實例
    4)call和apply都會強制改變this。
    5)給元素綁定事件,當事件觸發的時候,this就是事件觸發時的元素

    練習1:

    function fn(){
    				console.log(this);
    			}
    			var obj = {fn:fn};
    			fn();//this--->window
    			obj.fn();//this--->obj
    			
    			function sum(){
    				fn();//this-->window
    			}
    			sum()
    			
    			var oo ={
    				sum:function(){
    					fn() //this-->window
    				}
    			}
    			oo.sum();
    

    練習2:

    var num =20;
    	var obj = {
    	num:30,
    	fn:(function(num){
    	this.num *=3;
    	num += 15; //私有變量
    	var num = 45;
    	return function(){
    	this.num *= 4;
    	num += 20;
    	console.log(num);
    			}
    		})(num)//obj.num 才是30  現在這里是20
    		};
    		var  fn = obj.fn;
    		fn();
    		obj.fn();
    		console.log(window.num,obj.num)
    

    在這里插入圖片描述

    版權聲明:本文為qq_41983822原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/qq_41983822/article/details/107402292

    智能推薦

    this 指針

    this指針是類的一個自動生成、自動隱藏的私有成員,它存在于類的非靜態成員函數中,指向被調用函數所在的對象。 運行結果: this指針的特性: 1、this指針的作用域是在類內部,當在類的非靜態成員函數中訪問類的非靜態成員的時候,編譯器會自動將對象本身的地址作為一個隱含參數傳遞給函數。 2、this只能在類的非靜態成員函數中使用。全局函數,靜態函數都不能使用this。 3、一個對象的this指針并...

    this指向

    前端js中this指向及改變this指向的方法 js中this指向是一個難點,花了很長時間來整理和學習相關的知識點。 一、 this this是JS中的關鍵字, 它始終指向了一個對象, this是一個指針; 參考博文: 二、 this顯示綁定和隱式綁定 this顯示綁定 含義: 當一個函數沒有明確的調用對象的時候, 也就是單純作為獨立函數調用的時候, 將對函數的this使用默認綁定: 綁定到全局的...

    this指針

    1.this指針的引入 Q:Date類中有Set與Show兩個成員函數,函數體中沒有關于不同對象的區分,那當d1調用Set函數時,該函數是如何知道應該設置d1對象,而不是設置d2對象呢? A:C++中通過引入this指針解決該問題,即:C++編譯器給每個“成員函數“增加了一個隱藏的指針參數,讓該指針指向當前對象(函數運行時調用該函數的對象),在函數體中所有成員變量的操作,都...

    this指向

      我覺得還是得做個題,嘗試一下  ...

    說說this

    為什么80%的碼農都做不了架構師?>>>    說到js我們就不得不多this,這東西很多時候讓人不知道它代表了誰?我們根據js的書寫場景簡單看看this在不同地方都代表誰。 1.在全局下,this的指向 我們運行下面頁面: 彈出: 說明this代表了window對象,也就是指向window。 我們知道全局設置的變量等都是掛載window下的,可以通過wind...

    猜你喜歡

    hive 導出數據之一列多行,轉為一行多列

    需求:提取數據 說明:原數據是一列多行,需要轉化為一行多列 待查詢表為:temp_05 待查詢數據為: 待查詢數據如圖: 需要提取的數據表頭如下: 預定日期 昨日價格 前天價格 2018-02-01 2018-02-02 2018-02-03 2018-02-04 可用提數 SQL 數據如圖: 以下為嘗試過程 數據如圖: 數據如圖: 數據如圖: 數據如圖:...

    asp.net做一個簡易的聊天室

    要求: 結果: 關鍵代碼: Default.aspx Default.aspx.cs Default2.aspx Default2.aspx.cs Default3.aspx Default3.aspx.cs Default4.aspx...

    動態SQL和多表關聯-筆記

    《動態SQL與多表關聯》筆記 學習目標 能夠使用動態SQL完成SQL拼接 能夠使用resultMap完成多表查詢 能夠使用一對一查詢 能夠使用一對多查詢 (注:多對多其實就是兩個一個多) 映射文件:為什么要resultMap 目標 定義結果映射 使用結果映射 回顧 在mybatis中有2種配置文件: 核心配置文件,如:sqlMapConfig.xml 實體類映射文件,如:UserMapper.xm...

    【OpenGL C++ UE4】獲取模型頂點及面索引數據,并優化存儲結構供UE4繪制

    目錄 一、功能需求 二、成果 三、環境配置 四、詳細步驟 4.1 Max制作三棱錐并處理 4.2 核心代碼 4.2.1 傳入結構體數據 4.2.2 頂點去重、更新索引 4.2.3 輸出本地CSV文件 4.3 UE4繪制 一、功能需求 想必你肯定會問我一個問題,UE4直接導入模型不好么? 哈哈,前提是在做畢設時,導師提供的只有頂點與面索引數據,沒有模型。 下文詳細介紹了畢設開發中的難點,涉...

    解決Pyinstaller打包numpy和pandas庫文件過大問題

    解決Pyinstaller壓縮numpy和pandas庫文件過大問題 文件包類型和網上的方法 Windows下docker的安裝 在docker下實現打包     今天是2021年的第一天,先祝各位小伙伴現年快樂哈。最近因為做了一個項目,需要打包文件,文件中包含了numpy和pandas庫,結果打包出來幾百行的代碼居然要900m,人都傻了,翻遍了全網找解決方...

    精品国产乱码久久久久久蜜桃不卡