標籤:根據 js對象 nan get 長度 局部變數 mat 時間 電腦
一、
1.javascript的作用
是基於對象和事件驅動的語言,應用於用戶端
基於對象:提供好了很多個物件,可以直接拿過來使用,不需要建立
事件驅動: html做網站靜態效果,javascript動態效果,,例如:按鈕的單擊
用戶端:專門指的是瀏覽器
2.js的特點
(1)互動性 - 資訊的動態互動
(2)安全性 - js不能訪問本地磁碟的檔案
(3)跨平台性 - java裡面跨平台性,虛擬機器
- 只有能夠支援js的瀏覽器,都可以運行
3.javascript和java的區別(雷鋒和雷峰塔)
(1)java是sun公司,現在oracle;js是網景公司
(2)JavaScript 是基於對象的,java是物件導向
(3)java是強型別的語言,js是弱類型的語言
- 比如java裡面 int i = "10";
- js: var i = 10; var m = "10";
(4)JavaScript只需解析就可以執行,而java需要先編譯成位元組碼檔案,再執行
4.javascript的組成
(1)ECMAScript ---有ECMA組織制定的js的文法,語句.....
ECMA : 歐洲電腦協會
(2)BOM - broswer object model: 瀏覽器物件模型
(3)DOM- document object model:文件物件模型
二、js與html結合方式(*******)
第一種:- 使用一個標籤 <script type="text/javascript"> js代碼; </script>
第二種:- 使用script標籤,引入一個外部的js檔案
(1)建立一個js檔案1.js,寫js代碼
(2)引入:<script type="text/javascript" src="1.js"></script>
注意: ** 使用第二種方式時候,就不要在script標籤裡面寫js代碼了,不會執行。
三、js原始類型和聲明變數(*******)
定義變數 :都使用關鍵字 var 格式: var 變數名= 變數值
五種原始類型
string: 字串 var str = "abc";
number:數字類型 var m = 123;
boolean:true和false var flag = true;
null: Null 物件 擷取對象的引用,null表示對象引用為空白 ,所有對象的引用也是object
undefined:未定義 兩種情況會出現:
1.定義一個變數,沒有賦值
2. 對象屬性不存在
typeof( 變數名 ) -- > 擷取變數的資料類型
四、js的運算子(*******)
1.js裡面不區分整數和小數
2.字串的相加和相減的操作
NaN --> 非數值 ,例如 字串參與 除法運算的結果。
var str = "abc"; //提示NaN:表示不是一個數字
alert(str+1); //在java裡面操作的結果是 4561 ,在js裡面還是 4561
alert(str-1); //相減時候,執行減法的運算
3.boolean類型也可以操作
****如果設定成true,相當於這個值是1
*** 如果設定成false,相當於這個值是0
4.== 和 === 區別
== :比較的值. 而且可以進行簡單的類型轉換.
===:值相等 而且 類型也要相等.
5.引入知識
直接向頁面輸出的語句(可以把內容顯示在頁面上)
* document.write("aaa");
*document.wirte("<hr/>");
** 可以向頁面輸出變數,固定值和html代碼
五、js的語句 (*******)
if判斷語句’
=:表示賦值 ==:表示判斷
switch語句
結構同java ,在js裡面switch語句什麼類型都支援都支援
迴圈語句 for while do-while
六、js數組 (*******)
什麼是數組?
- 使用變數,var m = 10;
- java裡面的數組 定義 int[] arr = {1,2,3};
定義方式(三種)
第一種: var arr = [1,2,3]; var arr = [1,"4",true];
第二種:使用內建對象 Array對象
var arr1 = new Array(5); //定義一個數組,數組的長度是5
arr1[0] = "1";
第三種:使用內建對象 Array
var arr2 = new Array(3,4,5); //定義一個數組,數組裡面的元素是3 4 5
* 數組裡面有一個屬性 length:擷取到數組的長度
* 數組可以存放不同的資料類型的資料
七、js的函數(動態函數和匿名函數) (*******)
在js裡面定義函數(方法)有三種方式
(1)使用到一個關鍵字 function
function 方法名(參數列表) {
方法體;
傳回值可有可無(根據實際需要);
}
(2) 匿名函數
var add = function(參數列表) {
方法體和傳回值;
}
(3) 動態函數(用的少,瞭解)
使用到js裡面的一個內建對象 Function
var add = new Function("參數列表","方法體和傳回值");
八、js的全域變數和局部變數(*******)
全域變數:在script標籤裡面定義一個變數,這個變數在頁面中js部分都可以使用
- 在方法外部使用,在方法內部使用,在另外一個script標籤使用
注意: 當定義變數沒有使用var ,預設變數是全域的
局部變數:在方法內部定義一個變數,只能在方法內部使用
- 如果在方法的外部調用這個變數,提示出錯
- SCRIPT5009: “nn”未定義
使用瀏覽器的控制台 (按快速鍵 F12)
注意:局部變數和全域變數重名,優先選擇局部變數
九、js的函數重載(*******)
JS中沒有重載
可以類比重載的現象,利用 js 的一個數組對象
js函數中 參數 可以看做一個數組 多個函數 會存入數組中 並且按照下面的要求 來返回或應用數值
js對象
一、js的String對象(****)
string 對象用於處理文本(字串)。
string 對象屬性:length 字串的長度
string對象的方法:
與html相關的方法
big() 用大號字型顯示字串。
bold() 使用粗體顯示字串
fontcolor() 使用指定的顏色來顯示字串。
fontsize() 使用指定的尺寸來顯示字串。
與java相似的方法
charAt(下標位置)返回在指定位置的字元。
indexOf(子字串) 檢索字串。
substring(開始下標,結束下標) 提取字串中兩個指定的索引號之間的字元。
substr(開始下標,截取長度) 從起始索引號提取字串中指定數目的字元。
split(分割符) :用於把一個字串分割成字串數組。
二、js的Array對象 (****)----數組對象
java的數組是不可改變長度的 ,js的數組可以改變長度
length : 設定或返回數組中元素的數目
concat():串連兩個或更多的數組,並返回結果。
join():把數組的所有元素放入一個字串。元素通過指定的分隔字元進行分隔。
push():向數組的末尾添加一個或更多元素,並返回新的長度。
pop():刪除並返回數組的最後一個元素
reverse():顛倒數組中元素的順序
三、js的Date對象 (****)
Date 對象用於處理日期和時間。
建立 Date 對象的文法:var myDate=new Date()
toLocaleString() :根據本地時間格式,把 Date 對象轉換為字串。
toLocaleDateString() :根據本地時間格式,把 Date 對象的日期部分轉換為字串
getDate() :從 Date 對象返回一個月中的某一天 (1 ~ 31)
getDay() :從 Date 對象返回一周中的某一天 (0 ~ 6)
getMonth() :從 Date 對象返回月份 (0 ~ 11)
getFullYear() :從 Date 對象以四位元字返回年份
getTime() :返回 1970 年 1 月 1 日至今的毫秒數
parse() :返回1970年1月1日午夜到指定日期(字串)的毫秒數
四、js的math對象 (****)
ceil(x) 對一個數進行上舍入。
floor(x) 對一個數進行下舍入。
round(x) 把一個數四捨五入為最接近的整數
pow(x,y) 返回 x 的 y 次冪
random() 返回 0 ~ 1 之間的隨機數
五、js的全域函數 (****)
全域屬性和函數可用於所有內建的 JavaScript 對象
eval() : 執行js代碼(如果字串是一個js代碼,使用方法直接執行)
encodeURI() :對字元進行編碼 該方法不會對 ASCII 字母和數字進行編碼,
也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ‘ ( )
decodeURI() :對字元進行解碼
/*
encodeURIComponent() :對字元進行編碼
請注意 encodeURIComponent() 函數 與 encodeURI() 函數的區別之處,前者假定它的參數是 URI 的一部分(比如協議、主機名稱、路徑或查詢 字串)。因此 encodeURIComponent() 函數將轉義用於分隔 URI 各個部分的標點符號
decodeURIComponent():可對 encodeURIComponent() 函數編碼的 URI 進行解碼。
*/
isNaN():判斷當前字串是否是數字 如果是數字,返回false 如果不是數字,返回true
parseInt():類型轉換
(1)js裡面不存在重載。
(2)但是可以通過其他方式類比重載的效果 (通過aruguments數組來實現)
今天學習js做了些總結,分享給大家