javascript
Java语言基础JavaScript
JavaScript概述
JavaScript是基于對象和事件驅動的腳本語言,主要應用在客戶端。
特點:
1.交互性(它可以做的是信息的動態交互)
2.安全性(不允許直接訪問本地硬盤)
3.跨平臺性(只要是可以解析Js的瀏覽器都可以執行,和平臺無關)
JavaScript與Java的不同
1.Js是Netscape(網景)公司的產品,前身是LiveScript;Java是Sun公司的產品,現在是Oracle公司的產品。
2.Js是基于對象,Java是面向對象。
3.Js只需解釋就可以執行,Java需要先編譯成字節碼文件,再執行。
4.Js是弱類型,Java是強類型(每一種類型都有具體的劃分)。
JavaScript與Html的結合方式
1.將JavaScript代碼封裝到<script>標簽中;
2.將JavaScript代碼封裝到js文件中,并通過<script>標簽中的src屬性進行引用;
<script type="text/javascript" src="demo.js"> </script>
注意:如果<script>標簽中使用了src屬性,那么該標簽中封裝的javascript代碼不會被執行。所以導入js文件通常都是使用單獨的<script>標簽。
JavaScript語法
通常,高級程序設計語言所包含的語法內容:
??? 1.關鍵字,該種語言中被賦予了特殊含義的單詞;
??? 2.標識符,用于標識數據和表達式的符號,通常可以理解為在程序中自定義的名稱,比如變量名、函數名;
??? 3.注釋,注解說明解釋程序,用于調試程序;
??? 4.變量,標識內存中的一片空間,用于存儲數據,該空間中的數據時可以變化的,當數據不確定時,定義變量來操作數據;
??? 5.運算符,可以讓數據進行運算的符號;
??? 6.語句,用于對程序的運行流程進行控制的表達式;
??? 7.函數,用于對功能代碼進行封裝,以便于提高復用性;
??? 8.數組,對多數據進行存儲,便于操作就是緩沖容器;
??? 9.對象,只要是基于對象的語言,或者面向對象語言都存在對象的概念,對象就是一個封裝體,既可以封裝數據,又可以封裝函數;
這些都是高級程序設計語言具備的共性內容,只不過各種語言對這些內容的表現形式不同,但是使用的基本思想是一致的。
Js變量
Js中定義變量,需要使用關鍵字:var;
Js是弱類型的,不需要具體的類型。var關鍵字可以省略,因為Js是非嚴謹的語言。
Js運算符
1.算數運算符
2.賦值運算符
3.比較運算符
4.邏輯運算符
5.位運算符
6.三元運算符
Js語句
語句:
1.順序結構
2.判斷結構
??????? 代表語句:if
3.選擇結構
??????? 代表語句:switch
4.循環結構
??????? while ,do-while,for
5.其他語句
??????? break 跳出選擇,跳出循環。
??????? continue 用于循環語句,結束本次循環,繼續下一次循環。
???????
Js語句-練習-九九乘法表
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head><meta http-equiv="Content-Type" content="text/html; charset=GBK"><title>Untitled Document</title><link rel="stylesheet" href="tabcss.css"/></head><body><script type="text/javascript">document.write("<table>");for(var x=1;x<=9;x++){document.write("<tr>");for(var y=1;y<=x;y++){document.write("<td>");document.write(y+"*"+x+"="+y*x);document.write("<td/>");}document.write("<tr/>");}document.write("<table/>");</script></body> </html> /*tabcss*/ table,table td{border:#0000ff double 1px; }Js數組
數組用于存儲更多的數據,是一個容器。
注意:1.Js數組長度是可變的;
??????? 2.元素的類型是任意的;
??????? 建議在使用數組時,存儲同一類型的元素,操作起來較為方便。
Js中的惡數組定義的兩種方式:
1.var arr=[];
?? var arr=[3,4,5,8];
2.使用JavaScript中的Array對象來完成定義。
???? var arr=new Array();//相當于var arr=[];
???? var arr=new Array(5);//數組定義,且長度為5
???? var arr=new Array(5,6,7);//定義一個數組,元素是5,6,7
Js中的函數
函數就是功能的封裝體。
定義功能通常需要兩個明確:
1.功能的結果;
2.功能實現中,參與運算的未知內容;
Js中定義函數的格式:
通過指定的關鍵字來定義。
function 函數名(參數列表){
??????????? 函數體;
??????????? return 返回值;//如果沒有具體返回值,return語句可以省略
}
JS函數不存在重載。建議函數中定義了幾個參數,就傳遞幾個實參。
細節:
1.只要使用了函數的名稱,就是對這個函數的調用;
2.函數中有一個數組,在對傳入的參數進行存儲,這個數組的名字就是arguments;
3.
動態函數:使用的是Js中內置的對象Function
var add=new Function("x,y","var sum;sum=x+y;return sum");
var sum=add(4,8);
alert("sum="+sum);//sum=12
參數列表、函數體都是用字符串動態指定的。
匿名函數:沒有名字的函數,通常是函數的簡寫形式。
var add3=function(a,b){return a+b; } alert(add(7,8))//15
練習:
全局變量和局部變量
定義在函數體內部的變量叫做局部變量,而直接在腳本片段(<script><script/>)中定義的是全局變量。
常見對象-Object
objectname.toString([radix])
Array 將 Array 的元素轉換為字符串。結果字符串由逗號分隔,且連接起來。
Boolean 如果 Boolean 值是 true,則返回 “true”。否則,返回 “false”。
Date 返回日期的文字表示法。
Error 返回一個包含相關錯誤消息的字符串。
Function 返回如下格式的字符串,其中 functionname 是被調用 toString 方法函數的名稱:
function functionname( ) { [native code] }
Number 返回數字的文字表示。
String 返回 String 對象的值。
默認 返回 “[object objectname]”,其中 objectname 是對象類型的名稱。
object.valueOf( )
Array 數組的元素被轉換為字符串,這些字符串由逗號分隔,連接在一起。其操作與 Array.toString 和 Array.join 方法相同。
Boolean Boolean 值。
Date 存儲的時間是從 1970 年 1 月 1 日午夜開始計的毫秒數 UTC。
Function 函數本身。
Number 數字值。
Object 對象本身。這是默認情況。
String 字符串值。
String基本功能
<script type="text/javascript" src="out.js"></script><script type="text/javascript">/** 演示string對象* 表現形式:* var str=new String("abc");* var arr="abc";*/var str="abcde"; // println(str);//abcde // println("len="+str.length);//len=5 // alert(str.bold());//<B>abcde</B>,效果是加粗 // println(str.fontcolor("red"));//同上<font></font>,效果是字體顏色 // println(str.link("http://www.baidu.com/"));//超鏈接println(str.substr(1,3));//bcd,包含頭,也包含尾。從1開始,3是長度。println(str.substring(1,3));//bc,包含頭,不包含尾。1、3是首尾腳標。</script>string的自定義方法:
function trim(str){//定義兩個變量,一個記錄開始位置,一個記錄結束的位置//對開始位置的字符進行判斷,如果是空格,就進行遞增,直到不是空格位置//對結束位置的字符進行判斷,如果是空格,就進行遞減,直到不是空格位置//必須要保證開始<=結束,這樣才能保證截取var start,end;start=0;end=str.length-1;while(start<=end&&str.charAt(start)==" "){//charAt,返回指定索引位置處的字符。start++;}while(start<=end&&str.charAt(end)==" "){//charAt,返回指定索引位置處的字符。end--;}return str.substring(start,end+1); } var s=" ab c "; alert("-"+trim(s)+"-");//-ab c-prototype 屬性
返回對象類型原型的引用。
Array 對象
提供對創建任何數據類型的數組的支持。
arrayObj = new Array()
arrayObj = new Array([size])
arrayObj = new Array([element0[, element1[, ...[, elementN]]]])
參數arrayObj??? 必選項。要賦值為 Array 對象的變量名。
size??? 可選項。可選項數組的大小。由于數組的下標是從零開始,創建的元素的下標將從零到 size -1。
element0,...,elementN??? 可選項。要放到數組中的元素。這將創建具有 n + 1 個元素的長度為 n + 1 的數組。使用該語法時必須有一個以上元素。
concat 方法 (Array)??? 返回一個新數組,這個新數組是由兩個或更多數組組合而成的。
join 方法
返回字符串值,其中包含了連接到一起的數組的所有元素,元素由指定的分隔符分隔開來。
arrayObj.join(separator)
//push 方法 將新元素添加到一個數組中,并返回數組的新長度值。
arr3.push(arra,arrb,arrc);//arra,arrb,arrc為數組,push方法實現了二維數組
?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head><meta http-equiv="Content-Type" content="text/html; charset=GBK"><title>Untitled Document</title></head><body><script type="text/javascript" src="out.js"></script><script type="text/javascript">/** 數組練習* 用數組可以實現js中的堆棧或者隊列數據結構*/var arr=[];//arr.unshift("abc1","abc2","abc3");//添加元素,輸出順序為:abc1,abc2,abc3arr.unshift("abc1");arr.unshift("abc2");arr.unshift("abc3");//輸出為abc3,abc2,abc1println(arr);//arr.pop();//刪除尾部元素,abc3,abc2arr.shift();//刪除首部元素,abc2,abc1println(arr);</script><script type="text/javascript" src="arraytool.js"></script><script type="text/javascript">println("<hr/>");/** 給數組對象添加新功能,并使用到原型屬性*/var array=["nbc","haha","cba","aaa","abcd"];var maxValue=arr.getMax();println("maxValue:"+maxValue);println(array);</script></body> </html>
Date 對象
啟用基本存儲器并取得日期和時間。
dateObj = new Date()
dateObj = new Date(dateVal)
dateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]])
month 必選項。表示的月份,是從 0 到 11 之間的整數( 1 月至 12 月)。
<script type="text/javascript" src="out.js"></script><script type="text/javascript">/** 演示js中的日期,Date*/var date=new Date();//println(date);//println(date.toLocaleString());//日期和時間//println(date.toLocaleDateString());//只有日期var year=date.getFullYear();//getYear方法已過時var month=date.getMonth()+1;//注意month的取值為0-11var day=date.getDate();var week=getWeek(date.getDay());println(year+"年"+month+"月"+day+"日 "+week);function getWeek(num){var weeks=['星期日','星期一','星期二','星期三','星期四','星期五','星期六'];return weeks[num];}println("<hr/>")//日期對象和毫秒值之間的轉換var date2=new Date();//獲取毫秒值,日期對象對象——>毫秒值var time=date2.getTime();println("time:"+time);//將毫秒值轉成日期對象//1.new Date(time);//2.setTime()var date3=new Date(time);//println(date3);//3.將日期對象和字符串之間進行轉換,使用parse//日期對象轉成字符串 date.toLocaleDateString()、date.toLocaleString()//將字符串轉成日期對象。將具備指定格式的日期字符串——>毫秒值——>日期對象var str_date="9/28/2017";var time2=Date.parse(str_date);var date4=new Date(time2);println(date4);//Thu Sep 28 00:00:00 UTC+0800 2017println(date4.toLocaleDateString());</script>JS特有語句
為了簡化對象調用的書寫,可以使用JS中的特有語句with來完成。
格式:
with(對象)
{
??? 在該區域中可以直接使用指定的對象的內容,不需要寫對象。
}
Math對象
是一個固有對象,提供基本數學函數和常數。
Math.[{property | method}]
參數
property 必選項。Math 對象的一個屬性名。
method 必選項。Math.對象的一個方法名。
全局方法
<script type="text/javascript" src="out.js"></script><script type="text/javascript">/** 演示global的全局方法*/println(parseInt("123")+1);//124var val=parseInt("abc");println("value="+val);//value=NaN,非法。可以通過isNaN來判斷結果是否非法var val=parseInt("12abc");println("value="+val);//12,將abc舍棄var num=parseInt("110",2);//將制定禁止的字符串轉換成十進制,110——>6println("num="+num);var num1=parseInt("0x3c",16);println("num1="+num1);//num1=60//十進制——>其他進制,使用數字對象完成var num3=new Number(6);println("num3="+num3.toString(2));//num3=110,使用Number對象,十進制——>二進制var num4=60;//JS是基于對象的語言,num4在底層是對象println("num4="+num4.toString(16));//num4=3c </script>JS特有的語句-for in
格式:
for(變量 in 對象)//對對象進行遍歷的語句
{
}
???
var arr=[32,80,65];
for(i in arr){
??? println(arr[i]);//遍歷數組
}
轉載于:https://www.cnblogs.com/chenchong/archive/2012/08/24/2654710.html
總結
以上是生活随笔為你收集整理的Java语言基础JavaScript的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Placing a Method wit
- 下一篇: gradle idea java ssm