前端之路---入坑篇之JavaScript基礎筆記

未來紀元發表於2020-03-31

Javascript是什麼?

Javascript是一門物件導向的,跨平臺的指令碼語言。Javascript誕生於1995年5月,由Brendan Eich 在 10 天完成了 JS 的句法分析和解析程式。

Javascipt書寫位置
  • 1 寫在行內
<div onclick="alert('hello,JavaScript!')"> </div>
複製程式碼
  • 2 內部js
<script>  document.write("hello world")  </script>
複製程式碼
  • 3 外部js 編寫一個額外的index.js

index.js

 document.write("hello world");
複製程式碼
內部引入:
複製程式碼
<script src="path:to/index.js"></script>
複製程式碼

注意

  1. script標籤可以放在頁面任何位置

2.下面這樣寫是錯誤的!!!

<script src="path:to/index.js">  
document.write("hello world")  
</script>
複製程式碼

解釋: 引入了外部樣式的Javascript標籤的內部不可以寫其它code

Javascript變數的定義

我們先拋開es6的定義方法,在es6前,定義一個變數採用

var a
複製程式碼

這正是坑的所在,通過上述定義方法將會定義一個全域性變數,簡單點說:我們就是在window上定義了一個window.a變數。 這樣定義會產生嚴重的後果,比如以下程式碼

var RegExp = 1
console.log(window.RegExp) // 1
複製程式碼

也就是說,如果我們定義的變數名和window物件上某個屬性名相同時,我們定義的變數值會覆蓋window物件上的變數。這會影響我後面編寫的程式碼,所以我們要減少關鍵字var的使用

Javascript的資料型別

javascript中有七種資料型別,分為基本類和引用類

基本資料型別: Number , String, undefined, null, Boolean, Symbol
這些型別的值存放在棧區,函式呼叫時傳遞的是變數的值(值) (後面講解深拷貝和淺拷貝會涉及)。

引用資料型別: Object
這些型別的物件存放在堆區,物件的地址存放在棧區,函式呼叫時傳遞的是物件的地址(址)。
複製程式碼

相關文章