javascript
七、深入JavaScript函数,对象和作用域(三)
@Author:Runsen
@Date:2020/5/26
作者介紹:Runsen目前大三下學期,專業化學工程與工藝,大學沉迷日語,Python, Java和一系列數據分析軟件。導致翹課嚴重,專業排名中下。.在大學60%的時間,都在CSDN。決定今天比昨天更加努力。
文章目錄
- 函數
- 對象
- 作用域
- 全局作用域
- 局部作用域
- 例子
函數
函數:就是將一些功能或語句進行封裝,在需要的時候,通過調用的形式,執行這些語句。函數就是工具,寫成函數看起來比較高大上。
比如,下面的sayHello函數。
console.log("Runsen,你好"); sayHello(); // 調用函數// 定義函數 function sayHello(){console.log("歡迎,Runsen");console.log("welcome"); }因此,在
function 函數名([形參1,形參2...形參N]){ // 備注:語法中的中括號,表示“可選”語句...}比如下面的求和函數
function sum(a,b){return a+b; } var result=sum(2,3); console.log(result);//輸出5對象
在JavaScript中, 一切皆是對象,函數也可以用一個對象來代表:Function,我們可以使用Function來創建對象:
創建自定義對象最簡單的方式就是創建一個Object實例, 然后添加屬性和方法
/ 1.創建person的對象 var person = new Object()// 2.給person對象賦值了一些動態的屬性和方法 person.name = "Runsen" person.age = 20 person.height = 65person.sayHello = function () {alert("Hello, My name is " + this.name) }// 3.調用方法, 查看結果 person.sayHello()
但是如果需要創建多個對象,應該使用工廠方法創建對象,大批量的創建對象,其實就是定義一個函數
但是上面創建的對象都是Object這個類型,就導致無法區分出多種不同類型的對象。因此,最好的方法就是使用this上下文對象。
作用域
作用域指一個變量的作用范圍。在js中,一共有兩種作用域:
-
全局作用域
-
函數作用域
全局作用域
在全局作用域中:
-
創建的變量都會作為window對象的屬性保存。
-
創建的函數都會作為window對象的方法保存。
全局作用域中的變量都是全局變量,在頁面的任意的部分都可以訪問的到。
var carName = " Volvo";// 此處可調用 carName 變量 function myFunction() {// 函數內可調用 carName 變量 }局部作用域
變量在函數內聲明,變量為局部作用域。
局部變量:只能在函數內部訪問。
// 此處不能調用 carName 變量 function myFunction() {var carName = "Volvo";// 函數內可調用 carName 變量 }參考菜鳥教程
下面是我的總結;
在function內部, 加var的是局部變量, 不加var的則是全局變量;
在function外部, 不管有沒有使用var聲明變量,都是全局變量,在function外部,var關鍵字一般可以省略,但是為了書寫規范和維護方便以及可讀性好,一般不建議省略var關鍵字。
例子
var a = 1;function foo() {console.log(a);a = 2; // 此處的a相當于window.a}foo();console.log(a); //打印結果是2如果在function內部, 加var
function foo() {var a = 1;console.log(a); //1a = 2; console.log(a); //2}foo(); // console.log(a); //a is not defined總結
以上是生活随笔為你收集整理的七、深入JavaScript函数,对象和作用域(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 朋友们,谁可以说说柏尔定制地板环保吗?
- 下一篇: 问一下,全屋定制家具哪家好?