WEB前端入門淺談03
- JavaScript
- JavaScript的基本語法
- 變數(型別)
- 條件陳述句
- 回圈
- 陣列
- 函式
- 補充
JavaScript
JavaScript 是一種腳本,一門編程語言,它可以在網頁上實作復雜的功能,網頁展現給你的不再是簡單的靜態資訊,而是實時的內容更新,互動式的地圖,2D/3D 影片,滾動播放的視頻等等,JavaScript是運行在瀏覽器上的,功能就是控制頁面與用戶之間進行互動,
JavaScript書寫的位置也有三種
1、行內,寫到HTML里
<div onclick="console.log('hello')">
這首歌叫時間,唱有夢想的少年,這時一種信念,鼓勵著你改變,這是一頁詩篇,戲碼由你主演,無論暴雨晴天,請你堅持信念,
</div>
點擊div的時候就會觸發一個點擊事件,瀏覽器獲取到這個點擊事件,就會執行onclick這里對應的JavaScript代碼

2、內部,寫到HTML檔案里的<script>標簽里
<script>
var div = document.querySelector("div")
div.onclick = function () {
console.log('hello');
}
</script>
3、外部,寫在一個單獨的檔案里,通過HTML中的<script>標簽引入
<script src="test.js"></script>
// 直接這么寫的話,頁面在加載時就已經運行了這部分代碼
console.log("hello");
console.log();就是列印,相當于Java中的System.out.println()
運行在瀏覽器上的JS只能通過HTML作為載體,才能運行在瀏覽器上
但是也不絕對, JS 也可以依賴 nodejs 執行,脫離瀏覽器
JS其實不僅僅能開發網頁,也能開發服務器,或者開發一個桌面程式(依賴nodejs)
JavaScript的基本語法
JAVA與JavaScript的差異大也不大
變數(型別)
使用var關鍵字表示這是一個變數,這個變數的型別是在初始化(賦值)的時候確定的,
num的型別就是number
s的型別就是string
//創建變數
var num = 10;
//單引號和雙引號不進行區分
var s = 'hello';
一個變數的型別并不是固定死的,而是會隨著賦值型別的不同而改變
使用var定義變數時,在{ } 之外也可以訪問,var也可以省略,省略時,當前變數就是一個全域變數
可以使用let來定義變數,現在瀏覽器都支持
null 、undefined在JS中時單獨的一個變數
我們可以通過typeof來查看和比較變數的型別,在java中則是 instanceof 比較變數的型別
在JS中, == 表示的是比較內容,而在 Java 里是比較身份,在java中比較內容用的是equals/compareTo
let lit = 'lit';
console.log(typeof (lit));

條件陳述句
與Java中相似 如:
let num = 999;
if (num > 100){
console.log(100);
}else{
console.log(num);
}
但是,也有不同之處,如:
let num = 998;
if (num){
console.log(100);
}else{
console.log(num);
}
所以if中的條件不一定非得是boolean運算式,也可以是其他型別,
回圈
while回圈
let num = 1;
while (num <= 10){
console.log(num);
num++;
}
for回圈
for (let num = 1;num <= 10;num++){
console.log(num);
}
break 和 continue 的用法都與java類似
let of 相當于Java中的for each
let arrs = [1,2,3,4,5,6,7,8,9,0]
for (let arr of arrs){
console.log(arr);
}
陣列
Java中要求陣列中的元素型別是相同型別,如果想讓陣列中有不同型別,就用Object
但是在動態語言中,一般都允許一個陣列中存盤不同型別的資料
創建陣列的兩種方法:
// 此處可以列舉設定陣列中的資料
let arr = [];
//括號里就為陣列的長度
let arr2 = new Array(10);
列印陣列的長度,也可以用來修改陣列的長度,多出來的位置就默認為undefined
console.log(arr.length)
在JS中,陣列下標不會越界,當訪問的下標>=陣列的長度時,則訪問結果為undefined,且可以訪問負數的下標以及不是數字的下標,類似鍵值對
陣列尾插
arr.push(20)
函式
函式的定義:在定義函式時,無論有無回傳值,回傳值時什么型別都可以用function 其余與Java類似
在呼叫函式時,如果實參少于形參,那么其余形參的內容就會補充為undefined
當一個數字與undefined(非數字型別)進行運算時,運算結果就很容易成為NAN(NOT A NUMBER)
function hello(num){
console.log(num)
}
hello(100);
JS語法中的或操作
a=a||0;
b=b||0;
c=c||0;
//若a為真,則回傳a的值,a為假就回傳0
JS是為數不多的幾個 兩數相除結果回傳小數的 編程語言
補充
動態型別與靜態型別(了解)
靜態型別:變數的型別在程式 運行程序中 ,不能發生變化,代碼一旦編譯好之后,每個變數的型別就固定死了,如:Java C C++ Go
動態型別:變數的型別在程式運行程序中,可以發生變化,每次不同的賦值都有可能會改變變數的型別, 如: JavaScript Python Ruby PHP
一個語言是不是動態型別,與這個語言變數的定義方式無關,
如果是開發一個小型程式(2個人左右),動態型別更好,更靈活
如果是多人協作開發程式,靜態型別更好
JS里面在進行一些運算的時候,往往會進行一些隱式型別轉換
如:boolean型別與int型別相加時,boolean就會轉換為int,再與int型別相加
像這種型別能經常轉換的語言,稱為 弱型別
像Java這種不太支持隱式型別轉換的語言,稱為 強型別
強型別更好一些,有時候隱式型別轉換會讓其它程式員增加代碼使用成本,有時候會發生一些不可預料的結果,從而增加作業難度,
型別的強弱 和 靜態動態型別 時兩種不相干的概念
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/291052.html
標籤:其他
上一篇:使用Laravel和Vue.js2.5進行服務器端渲染
下一篇:jQuery影片詳解
