JAVA企業級開發-JavaScript(02)


一、JavaScript介紹

Javascript語言誕生主要是完成頁面的數據驗證。因此它運行在客戶端,需要運行瀏覽器來解析執行JavaScript代碼。

特點:

  1. 交互性(它可以做的就是信息的動態交互)
  2. 安全性(不允許直接訪問本地硬盤)
  3. 跨平台性(只要是可以解釋Js的瀏覽器都可以執行,和平台無關

JavaScriptJava不同

  1. JS是Netscape公司的產品,前身是LiveScript;Java是Sun公司的產品,現在是Oracle公司的產品。JScript微軟  w3c ECMA組織   ECMAScrip   jQuery
  2. JS是基於對象,Java是面向對象。
  3. JS只需解釋就可以執行,Java需要先編譯成字節碼文件,再執行。  JS代碼有無,瀏覽器一般不會提示錯誤。
  4. JS是弱類型,Java是強類型。

二、JavaScript和html代碼的結合方式

  1. 第一種方式 使用script標簽嵌入js代碼

需要在html文件中嵌入JavaScript代碼時,需要在html文件中使用script標簽完成。

    2.第二種方式 外部引入js文件

 

  3. JS中的注釋

JavaScript是一門編程語言:

任何一門語言都具備如下的特點:

1、注釋

2、關鍵字、標識符

3、常量、變量、運算符

4、語句、判斷、循環、switch

5、函數 方法

6、數組

我們學習JS和Java的不同之處。

java中的注釋:// 、/** */、 /* */

js中的注釋有2種:

單行注釋:

//  注釋內容

多行注釋:

/*  注釋內容 */   多行中不能嵌套多行注釋,但可以嵌套單行注釋

   4.、關鍵字、標識符

關鍵字:被JS賦予了特定含義的單詞或者字母的組合。

var if switch  do while for continue break 等

標識符:開發者根據自己的需求定義的一個符號,這些符號可以由 字母  數字  下划線  $  符號,開始不能是數字。

  5、常量

Java中的常量:

整數、小數、字符、布爾值、null、字符串。

Java中的數據類型:

整數:byte short int long

小數:float double

字符:char

布爾:boolean

字符串:String

 

Js中的常量:

數值:整數和小數

字符串:在js中使用單引號或者雙引號引用起來的全部都是字符串

布爾:true false  在js中零,null、undefined等可以理解成false,所有非零、非null、非undefined值都可以理解成true。

null:null

undefined:undefined

 

JS中的數據類型:

數值型:number

字符串:string

布爾:boolean

對象類型:Object

 

在JS中也有二進制、八進制、十進制、十六進制。運算規則和Java一致。

   

6、變量

變量:表示的是一個內存空間。可以保存常量數據。

Java中如何定義一個變量:

數據類型 變量名 ;    數據類型 變量名 = 初始值;

JS中定義變量:

var 變量名;  var 變量名 = 初始值;

JS中定義的變量空間,在沒有賦值之前,這些空間中是沒有數據類型的。定義的空間可以保存任何類型的數據。

 

1 // 1. 定義一個變量名,使用typeof檢測類型
2 // 2. 給變量賦值數值型,使用typeof檢測類型
3 // 3. 給變量賦值字符串型,使用typeof檢測類型

 

  7. 運算符:

+  -  *    /   %     ++  --

 

1、由於js中的小數和整數都是number類型,不存在類似整數除以整數還是整數的結論。

 

2、字符串和其他的數據使用+號運算,會連接成一個更長的字符串。

 

3、如果字符串和和非+號的進行運算,

 

如果字符串可以轉成number數據,就會把字符串轉成number數據進行運算。

如果字符串無法轉成numbe 進行運算,就得到NaN結果,表示當前是一個非數字結果。

 

NaN : not a number

示例:

// 猜結果

var x = 4321 / 1000 * 1000;

alert(x); // 4321

 

var y = "23" + 20;

alert(y); // 2320

 

var z = "23" - 20;

alert(z); // 3

 

var j = "aaa" - 20;

alert(j); // NaN

 

  a.、賦值運算

= 把右側結果賦值給左側空間。

 

var x = 123;

 

+= -= *= /=  %=  和Java運算一致

   b. 關系(比較)運算

 

三、函數

  1. 第一種

格式:

function 函數名( 參數列表 )

{

函數體;

}

 

函數的細節:

 

 

 

 

  2.第二種定義函數的格式

 

格式:

var 函數名 = new Function( “接受數據的變量名”,”函數體的代碼” );

 

  3. 第三種定義函數的格式

 

第三種定義方式:匿名函數

 

格式:

function(){

函數體;

}

 1 <script type="text/javascript">
 2         var demo = function(){
 3             alert("123");
 4         }
 5         //demo();
 6         
 7         // window對象是js已經創建好的,我們可以直接使用的對象
 8         // onload是js對象的一個加載事件,這個功能:當整個頁面加載完成后執行
 9         window.onload = function(){
10             // alert("咱們帥哥真多!");
11             
12             // 給用戶名的input綁定單擊事件
13             document.getElementById("username").onclick = function(){
14                 // 將input框中的值清空
15                 document.getElementById("username").value = "";
16             }
17         }
18     </script>
19   </head>
20   
21   <body>
22         用戶名:<input type="text" id="username" value="美女姓名"/>
23   </body>

 

window.onload = function(){

 alert("咱們帥哥真多!"

);

其實就是當頁面加載完成后執行 就是說頁面全部加載完畢 最后才執行 , 那上面用戶名美女姓名當你頁面加載完畢后 會在text文本標簽中顯示美女姓名,所以在綁定單擊事件后清空

 

四、JS中的對象

 

  1、Date對象

 1 <script type="text/javascript">
 2         
 3         // 定義日期
 4         var d = new Date();
 5         document.write(d.toLocaleString() + "<br/>");
 6         document.write(d.toLocaleTimeString() + "<br/>");
 7         document.write(d.toLocaleDateString() + "<br/>");
 8         
 9         // 頁面加載完成后執行
10         window.onload = function(){
11             window.setInterval("setTime()",1000);
12         }
13         
14         function setTime() {
15             // 創建日期對象
16             var d = new Date();
17             // 獲取div標簽對象,向里面放值
18             document.getElementById("setTime").innerHTML = d.toLocaleTimeString();
19         }
20     </script>
21   </head>
22   
23   <body>
24       <div id="setTime"></div>
25   </body>

 

String對象

Math對象和Java中的基本一致

 

RegExp對象,正則對象,正則表達式的書寫規則和Java也一致:

 

. 當前可以是任意字符

? 表示零次或一次

* 表示零次或多次

+ 表示一次或多次

 

() 對某個存在的正則進行分組   組的使用  \組號   $組號

{} 當前的規則可以出現的次數 

{m} 正好 m次  {m,} 最少m次  {m,n} 最少m次 最多n

[] 當前位置上可以是中括號中某個字符

  [abc] [^abc]

 

\\d 當前位置上可以數字

\\w 當前位置上可以是字母 數字 下划線

\b 單詞邊界

^ 行開始

$ 行結尾

  1 需求: 2 1、需要打印當前當前的時間;yyyy-MM-dd hh:mm:ss 3 2、給定字符串,判斷是否符合4~12位的字母 數字 下划線的的組合。 

一定要寫 行開始和行結束

 

 

 

  2. JS中的全局函數

 

 

在JS中有上述的函數,可以直接在js代碼中使用,不需要通過任何對象來調用。

需求:

1、 對含有中文參數的URL進行編碼和解碼

2、 使用eval將字符串轉成js代碼執行(重要,JASON都會用到)

 

 1 <script type="text/javascript">
 2         //1、 對含有中文參數的URL進行編碼和解碼
 3         var url = "http://www.baidu.com?username=高圓圓&age=23&sex=女"; 
 4         // 編碼
 5         var encUrl = encodeURI(url);
 6         //alert(encUrl);
 7         // 解碼
 8         var decUrl = decodeURI(encUrl);
 9         //alert(decUrl);
10         
11         //2、 使用eval將字符串轉成js代碼執行
12         eval("alert('abc')");
13     </script>

 

1、js和Java的不同之處。

2、函數的定義和使用  第一種  和第三種

3、了解 js中的數組操作

 

五、JS中的自定義對象:

1、js中的函數就是對象,對象就是函數。

2、動態的給對象添加屬性和方法。

3、給對象定義默認的構造方法。

 1 /*
 2             1、js中的函數就是對象,對象就是函數。
 3     
 4             2、動態的給對象添加屬性和方法。
 5             
 6             3、給對象定義默認的構造方法。
 7         */
 8         function Person() {} // 理解為定義一個類
 9         
10         var person = new Person(); // 實例化一個Person
11         
12         // 2、動態的給對象添加屬性和方法。
13         person.name = "高圓圓";
14         person.age = "23";
15         
16         person.setName = function(name){
17             this.name = name;
18         }
19         
20         person.getName = function() {
21             return this.name;
22         }
23         
24         alert(person.name + "    " + person.age);
25         
26         person.setName("楊冪");
27         alert(person.getName());
28         
29         var person2 = new Person();
30         // person2.setName("baby");
31         
32         // 3、給對象定義默認的構造方法。
33         function Dog(name, color) {
34             this.name = name;
35             this.color = color;
36             
37             this.setName = function(name) {
38                 this.name = name;
39             }
40             
41             this.getName = function(){
42                 return this.name;
43             }
44         }
45         
46         var d = new Dog("旺財","黑色");
47         alert(d.getName());

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM