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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 80_【JavaWeb】80:js基础详解

發布時間:2023/12/2 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 80_【JavaWeb】80:js基础详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天是劉小愛自學Java的第80天。

感謝你的觀看,謝謝你。

話不多說,開始今天的學習:

JavaScript是一門編程語言,但凡是編程語言,其在基本語法上都是大同小異的。

我們學了Java,那么再學習其它語言時,學它不同于Java的地方即可,這樣也能更好地記憶。

一、js中的運算符

1算術運算符

無外乎就是加減乘除,取模,自增自減這些,用法和Java中都是一樣的。

但js中的運算也有和Java的不同之處;

①變量之間的運算

在js中,不同數據類型之間的變量也能運算。

100和true相加結果竟然是101,這在Java中會直接報錯,因為不確定結果是什么數據類型。

所以在js中,true參與運算時就相當于數字1,同理false就相當于數字0,null也是相當于數字0

②undefined類型參與運算

變量c沒有定義,所以是未定義類型,當其參與運算時得到的結果為NaN。

未定義類型和非字符串任意類型運算時,得到的結果都是NaN。

NaN,全稱not a number,不是一個數字。

③string類型參與運算

這個和Java中倒是一樣,任意類型和string類型相加時,結果都是拼接。

但是String在Java里面是引用數據類型,而在js里面是基本(原始)數據類型。

2邏輯運算

關于邏輯運算符:與(&&)、或(||)、非(!)和Java中是一樣的。

但在js中的邏輯判斷與Java有些不同:

①布爾表達式

這個也就和Java中一樣,邏輯判斷為true時結果為真,邏輯判斷為false時結果為假。

②數字作為布爾表達式

在js里面,數字也有自己的邏輯判斷:

當數字不為0時,邏輯判斷為true;

當數字為0時,邏輯判斷為false。

③字符串作為布爾表達式

當字符串不為空時,邏輯判斷為true;

當字符串為空時,邏輯判斷為false。

此外,未定義數據類型邏輯判斷也為false,在算術運算中的NaN作為邏輯判斷時也為false。

我就不一一演示了。

3比較運算符

其中js中的賦值運算符(=、+=、-=、*=、/=、%=)和Java中一樣。

比較運算符(==、!=、、>=)也和Java中一樣,但js有兩個個特殊的比較運算符:

①字符串與數字比較

在js中,字符串也能參與比較,會先將其轉換成數字再進行比較。

==,等于,比較的是值是否相等。

===,恒等于,比較的是值和類型均相等。

②null與未定義比較

同樣的道理,它們的值相等,都為null,但是類型不一樣,所以不恒等于。

4三目運算符

也就是Java中的三元運算符。

二、js中的函數

1函數定義

js中的函數其實也就是Java中的方法。

①Java中的方法

做一個回顧,Java方法格式:修飾符+返回值+方法名+(參數列表)+{方法體};

其中參數列表中要明確數據類型。

②js中的函數

js函數格式:fuction+方法名(參數列表){};

js中不僅沒有修飾符,連返回值都沒有,并且參數列表的數據類型不用明確。

由此可以看出:js的語法相對于Java而言較為隨意,不像Java那么嚴謹,但確實簡便了很多。

2實參和形參

實參:調用函數時的參數(傳入的具體數值)。

形參:定義函數時的參數(自定義的變量)。

Java中形參與實參要明確保證一致(數量、數據類型都要保證一致)

但是js中可以不一致,我們逐一分析:

①實參與形參數量不一致

實參與形參的關系相當于將實參的值賦給形參。

當實參比形參要少時:a=1;b=2,但是c未定義。

在js中任何數據與未定義的變量相加都是NaN。

當實參和形參一樣或者多時,結果沒有影響,多的實參不參與運算即可。

②形參和方法體中的變量不一致

如果方法體中的變量要少,有幾個就用幾個。

如果方法體中的變量要多,多了一個形參中沒有的變量d,則無法運行。

這個Java中倒是有一定的相似之處。

3參數arguments

事實上在js中有一個專門的數組arguments,用來接收調用時的實際參數:

js中的數組是可變的,所以可以使用這種方式來接受,當然也可以使用for循環來處理。

不過要注意的是,js中可沒有增強for循環。

老實說,對于arguments這個概念,其實也就相當于是實際參數,知道在js中有它的存在即可。

我個人對于實參和形參的理解,就是將實參賦值給形參再參與運算,這樣方便記憶也好理解。

4返回值和方法重載

①返回值

js在定義函數時是不用說明返回值的,如果有返回值,直接return即可。

②方法(函數)重載

在Java中是有方法重載(同名不同參)

但是在js中是沒有方法重載的。

這也好理解,在Java中參數類型不同,個數不同即代表不同的參數。

但是在js中參數類型都沒有明確定義,所以也沒法區分參數不同,并且實參個數與形參個數沒有關系。

其中,js代碼是從上到下執行的,同名函數,后面的函數會覆蓋前面的函數。

5局部變量和全局變量

①函數內測試局部變量

函數內部,局部變量和全局變量都可以訪問。

②函數外測試全局變量

在函數外部,局部變量是不能被訪問的,但是全局變量可以訪問。

③另一個script標簽

和函數外部一樣的道理,通過②③我們可以得出結論:變量c是一個全局變量。

事實上,當局部變量省略了var的時候,會變成全局變量。

為什么會這樣?畫圖分析:

也就是說實際上變量c省略了var,就相當于默認在外部定義了var c,再在函數內賦值。

當然其前提是該變量沒有在函數內被定義,如果變量c在函數內定義過了,那它就是個局部變量。

④測試思考

我發現明明a,c都是全局變量,a,c中間加了一個b后,c就不能打印了。

也就是說外部是沒法引用局部變量的,會報錯。

但是js中報錯了照樣能運行,只是當前標簽內后面的代碼就不執行了。

最后

謝謝你的觀看。

如果可以的話,麻煩幫忙點個贊,謝謝你。

總結

以上是生活随笔為你收集整理的java 80_【JavaWeb】80:js基础详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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