日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript(三)——函数、变量作用域、方法

發布時間:2025/3/13 javascript 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript(三)——函数、变量作用域、方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1. 函數
  • 2. 變量的作用域
  • 3. 方法
  • 4. 內部對象
    • 4.1 Date
    • 4.2 JSON
    • 4.3 Ajax

1. 函數

在JavaScript中,函數即對象,可以隨意地被程序操控,函數可以嵌套在其他函數中定義,這樣可以訪問它們被定義時所處的作用域中的任何變量。
1)定義方式一(以絕對值函數abs()為例)

(2)定義方式二

function(x){…}這是一個匿名函數,但是可以把結果賦值給abs,通過abs就可以調用函數,方式一與方式二等價

(3)調用函數
在調用函數時,可以向其傳遞值,這些值被稱為參數。javaScript 可以傳任意個參數,也可以不傳遞參數

判斷傳遞進來的參數是否存在問題,若存在問題,則手動拋出異常。


(4)arguments
arguments是一個JS免費贈送的關鍵字;代表傳遞進來的所有的參數,是一個數組


問題: arguments 包含所有的參數,我們有時候想使用多余的參數來進行附加操作。需要排除已有參數~

(5)rest
ES6 引入的新特性,獲取除了已經定義的參數之外的所有參數
rest 參數只能寫在最后面,且必須用… 標識

2. 變量的作用域

  • 在javascript中, var 定義變量實際是有作用域的,作用域可訪問變量,對象,函數的集合。
  • 函數之外聲明的變量,叫做全局變量,因為它可被當前文檔中的任何其他代碼所訪問。在函數內部聲明的變量,叫做局部變量,因為它只能在當前函數的內部訪問。

(1)在函數體中聲明,則在函數體外不可以使用 (非要想實現的話,后面可以研究一下閉包 )

(2)如果有兩個函數使用了相同的變量名,只要在函數內部就不沖突

(3)內部函數可以訪問外部函數的成員,反之則不行


(4)內部函數變量和外部函數的變量重名,由“內”向“外”查找


說明:在JavaScript 中 函數查找變量從自身函數開始,由 ‘’內‘’ 向 ‘’外‘’ 查找 。假設外部存在這個同名的函數變量,則內部函數會屏蔽外部函數的變量。

(5)提升變量的作用域

  • 先使用變量稍后再聲明變量而不會引發異常,稱為提升變量


    說明:JavaScript 變量感覺上是被“提升”或移到了函數或語句的最前面。但是,提升后的變量將返回 undefined 值,即不會提升變量y的賦值。

  • 規范操作

    所有的變量定義都放在函數的頭部,不要亂放,便于代碼維護。

(6)全局函數

  • 全局變量


    (7) 全局對象 window

    alert() 這個函數本身也是一個 window 變量

    Javascript 實際上只有一個全局作用域, 任何變量(函數也可以視為變量),假設沒有在函數作用范圍內找到,就會向外查找,如果在全局作用域都沒有找到,報錯 RefrenceError

  • 規范
    由于我們所有的全局變量都會綁定到我們的 window 上。如果不同的js 文件,使用了相同的全局變量,就會發生沖突

    解決辦法:把自己的代碼全部放入自己定義的唯一空間名字中, 降低全局命名沖突的問題。jQuery

(8)局部作用域:let


可以看到由 var 定義局部變量后,控制臺從輸出了11這個數,說明執行了console.log(i+1)語句, i 出了這個作用域還可以使用。這是不規范的!

ES6 引入let 關鍵字,解決局部作用域沖突問題


建議大家都是用 let 去定義局部作用域的變量

(9)常量 const

ES6 之前,怎么定義常量:只有用全部大寫字母命名的變量就是常量;建議不要修改這樣的值

在 ES6 引入了常量關鍵字 const

3. 方法

(1)定義方法
方法就是把函數放在對象的里面對象只有兩個東西 : 屬性和方法


this 是無法指向的,是默認指向調用它的那個對象

(2)apply 在js 中可以控制 this 指向

4. 內部對象

標準對象

4.1 Date

日期對象用于處理日期和時間

控制臺輸出

轉換

控制臺輸出

4.2 JSON

早期,所有數據傳輸習慣使用 XML 文件

  • JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式
  • 簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。
  • 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。
  • 在JavaScript 一切皆為對象、任何js 支持的類型都可以用JSON來表示;number,string…

格式

  • 對象都用 {}
  • 數組都用 []
  • 所有的鍵值對 都是用 key:value

JSON字符串 和 JS對象的轉化

  • JSON.stringify( ); JS對象轉化為JSON字符串
  • JSON.parse( ); JSON字符串轉化為JS對象


    JSON 和 JS 對象的區別

var obj = {a: ‘hello’,b:‘hellob’}; JS對象
var json = {“a”: “hello”,“b”:“hellob”}; JSON字符串,鍵必須加“ ”

4.3 Ajax

  • AJAX = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)
  • AJAX 不是新的編程語言,而是一種使用現有標準的新方法
  • AJAX 最大的優點是在不重新加載整個頁面的情況下,可以與服務器交換數據并更新部分網頁內容。
  • AJAX 不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執行
  • 原生的js寫法 xhr 異步請求
  • jQuey 封裝好的方法 $(”#name“).ajax(“”)
  • axios 請求

總結

以上是生活随笔為你收集整理的JavaScript(三)——函数、变量作用域、方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。