1. 程式人生 > >今天學習js做了些總結,分享給大家

今天學習js做了些總結,分享給大家

要求 js文件 優先 encode mas src 全局變量 nan span

一、
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表示對象引用為空 ,所有對象的引用也是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做了些總結,分享給大家