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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Java语言基础JavaScript

發布時間:2025/3/13 javascript 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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>標簽。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>New Web Project</title></head><body><!--導入js文件--><script type="text/javascript" src="demo.js"></script><!--封裝javascript代碼--><script type="text/javascript">alert("hello javascript");//標簽中使用了src屬性,那么該標簽中封裝的javascript代碼不會被執行</script></body> </html>

JavaScript語法
通常,高級程序設計語言所包含的語法內容:
??? 1.關鍵字,該種語言中被賦予了特殊含義的單詞;
??? 2.標識符,用于標識數據和表達式的符號,通常可以理解為在程序中自定義的名稱,比如變量名、函數名;
??? 3.注釋,注解說明解釋程序,用于調試程序;
??? 4.變量,標識內存中的一片空間,用于存儲數據,該空間中的數據時可以變化的,當數據不確定時,定義變量來操作數據;
??? 5.運算符,可以讓數據進行運算的符號;
??? 6.語句,用于對程序的運行流程進行控制的表達式;
??? 7.函數,用于對功能代碼進行封裝,以便于提高復用性;
??? 8.數組,對多數據進行存儲,便于操作就是緩沖容器;
??? 9.對象,只要是基于對象的語言,或者面向對象語言都存在對象的概念,對象就是一個封裝體,既可以封裝數據,又可以封裝函數;
這些都是高級程序設計語言具備的共性內容,只不過各種語言對這些內容的表現形式不同,但是使用的基本思想是一致的。

Js變量
Js中定義變量,需要使用關鍵字:var;
Js是弱類型的,不需要具體的類型。var關鍵字可以省略,因為Js是非嚴謹的語言。

<!--演示JavaScript語法--> <script type="text/javascript">//定義變量var x=3;//js是弱類型,不需要具體的類型x="abc";x=3.45;x=true;x='c';//賦值為字符串c,Js中單引號和雙引號都是字符串alert("x="+x);//這是一個函數,將具體的參數通過對話框進行顯示 </script>

Js運算符
1.算數運算符
2.賦值運算符
3.比較運算符
4.邏輯運算符
5.位運算符
6.三元運算符

<!--運算符--> <script type="text/javascript">//算數運算符var a = 3710;//alert(a / 1000 * 1000);//3710,而不是3000var a1 = 2.3;b1 = 4.7; // alert("a1+b1="+(a1+b1));//7,而不是7.0 // alert("12"+1);//121 // alert("12"-1);//11 // alert(false+1);//2。在Js中false就是0或者null;true是非零或非空,默認用1表示var n=3,m;m=n++;//n=4,m=3 // m=++n;//n=4,m=4 // alert("n="+n+",m="+m); //=======================================================//賦值運算符var i=3;i+=2;//在Js中等同于i=i+2,其他運算符同此處 // alert("i="+i); //=======================================================//比較運算符,比較運算符結果是false或truevar z=3; // alert(z==4); //=======================================================//邏輯運算符,連接兩個boolean型的表達式var t=4; // alert(t>3&&t<6);//區分&和&&,在Js中&等是位運算符。此處若用&,則1&1結果為1 // alert(!t);//false //=======================================================//位運算符var c=6; // alert(c&3); //110&011=010 // alert(5^3^3);//5 // alert(c>>>1);//3 // alert(c<<2);//24 //=======================================================//三元運算符 // 3>0?alert("yes"):alert("no");//yesalert(3>10?100:200);//200 </script>Js運算符-細節 <script type="text/javascript">/** 細節* 1.undefined,未定義,其實它就是一個常量*/var xx; // alert(xx);//undefined // alert(xx==undefined);//true//要想獲取具體值的類型,可以通過typeof完成 // alert(typeof("abc")=="string");//string,可通過==直接判斷類型,此處為true // alert(typeof(2.5));//number // alert(typeof(true));//boolean // alert(typeof(78));//number // alert(typeof('9'));//string </script>

Js語句
語句:
1.順序結構
2.判斷結構
??????? 代表語句:if
3.選擇結構
??????? 代表語句:switch
4.循環結構
??????? while ,do-while,for
5.其他語句
??????? break 跳出選擇,跳出循環。
??????? continue 用于循環語句,結束本次循環,繼續下一次循環。
???????

<script type="text/javascript">//判斷結構/* var x = 3; // if (x == 4) {//如果改為x=4,則結果為yes。因為此處是賦值操作,此時x的值為4,判斷結果為true。if (4 == x) {//建議將常量放左邊,如果寫為=,會報錯提示alert("yes");}else {alert("no");}*/ //=======================================================//選擇結構/*var x="abc";switch(x){case "kk":alert("a");break;case "abc":alert("b");break;default:alert("c");}*/ //=======================================================//循環結構/*var x=1;document.write("<font color='red'>");//while(x<10){ // alert("x="+x);//將數據直接寫到當前頁面中document.write("x="+x+"<br/>");x++;}document.write("</font>");//一個font標簽,修飾循環輸出的內容*//*for(var x=0;x<3;x++){//不能用int x=0,使用vardocument.write("x="+x+"<br/>");}*/ //=======================================================x:for(var x=0;x<3;x++){for(var y=0;y<4;y++){document.write("x="+x+"<br/>");continue x;}}</script>

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.

function getSum(){return 100; } //var sum=getSum;//getSum本身是一個函數名,代表的是對象,函數本身在Js中就是一個對象,getSum就是這個函數對象的引用//getSum這個引用的地址賦值給了sum,這時sum也指向了這個函數對象//相當于這個函數對象有兩個函數名稱 //alert("sum="+sum);//打印的時候,如果sum指向的是函數對象,那么會將該函數對象的字符串表現形式打印出來,就是該函數的代碼定義格式var sum=getSum();//getSum函數運行,并將返回的結果賦值給sumalert("sum="+sum);

動態函數:使用的是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


練習:

<!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">/** 綜合練習:* 1.定義功能,完成數組的最值獲取;* 2.對數組排序;* 3.對數組進行查找;* 4.對數組元素進行反轉;*///取最值var arr=[66,13,37,29,89,98,12];function getMax(arr){var max=0;//初始化腳標for(var x=1;x<arr.length;x++){if(arr[x]>arr[max])max=x;}return arr[max];}var maxValue=getMax(arr); // document.write("maxValuee="+maxValue);//排序function sortArray(arr){for(var x=0;x<arr.length;x++)for(var y=x+1;y<arr.length;y++){if(arr[x]>arr[y])swap(arr,x,y);}}//數組中的元素位置置換function swap(arr,x,y){var temp=arr[x];arr[x]=arr[y];arr[y]=temp;}function println(val){document.write(val+"<br/>");}println("排序前:"+arr); // sortArray(arr);println("排序前:"+arr);</script><script type="text/javascript">//對數組進行查找function searchElement(arr,key){for(var x=0;x<arr.length;x++){if(arr[x]==key){return x;}return -1;}}//折半查找,必須是有序的數組function binarySearch(arr,key){var max,min,mid;min=0;max=arr.length-1;while(min<=max){mid=(max+min)>>1;if(key>arr[mid])min=mid+1;else if(key<arr[mid])max=mid-1;elsereturn mid;} }//對數組進行反轉function reverseArray(arr){for(var start=0,end=arr.length-1;start<end;start++,end--){swap(arr,start,end);}}reverseArray(arr);println("反轉后:"+arr);</script></body> </html>


全局變量和局部變量
定義在函數體內部的變量叫做局部變量,而直接在腳本片段(<script><script/>)中定義的是全局變量。

var x=3; function show(x){x=8; } show(x); document.write("x="+x);//3,x是全局變量,x=8是show中的局部變量,而全局變量還是x=3。

常見對象-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 屬性
返回對象類型原型的引用。

/** 既然trim方法是用來操作字符串的方法,可不可以像字符串已有的方法一樣,* 將此方法也定義到字符的對象中?能夠用字符串對象直接調用。* 這里就可以使用一個該字符串的原型屬性來完成。* 原型:就是該對象的一個描述,該描述中如果添加了新功能,那么它的對象都會具備這些新功能。* 用prototype就可以獲取這個原型對象。* 通過prototype就可以對對象的功能進行擴展。* * 需求:想要給string對象添加一個可以去除字符串兩端空格的新功能。* 就可以使用原型屬性來完成。*/ //給string的原型中添加一個功能。注意,給對象添加新功能,直接使用對象.新內容。 //String.prototype.len=199;//給string的原型對象中添加一個屬性,名為len,值為199 //添加行為 String.prototype.trim = function() {var start, end;start = 0;end = this.length - 1;while (start <= end && this.charAt(start) == " ") {// charAt,返回指定索引位置處的字符。start++;}while (start <= end && this.charAt(end) == " ") {// charAt,返回指定索引位置處的字符。end--;}return this.substring(start, end + 1); }alert("-"+" abc d e ".trim()+"-");/***字符串對象的新功能,將字符串進行反轉*/ String.prototype.reverse=function(){var arr=this.toCharArray();//將數組位置置換功能進行封裝,并定義到了反轉功能內部function swap(arr,a,b){var temp=arr[a];arr[a]=arr[b];arr[b]=temp; }for(var x=0,y=arr.length-1;x<y;x++,y--){swap(arr,x,y);}return arr.join("");//join方法,將字符數組連接 }


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方法實現了二維數組

<script type="text/javascript" src="out.js"></script><script type="text/javascript">/**演示數組 */var arr=["nbc","haha","cba","aaa","abcd"];var arr2=["qq","xiaoqiang"];println(arr);println(arr2);//合并數組:在arr數組上連接一個元素"mm",再連接一個arr數組var newArr = arr.concat("mm",arr2);//效果:將"mm"作為新數組中的元素,arr2中的元素也作為新數組的元素//println(newArr);println(arr.join("-"));//nbc-haha-cba-aaa-abcd//println(myJoin(arr,"="));//模擬join方法function myJoin(arr,separator){var str="";for(var x=0;x<arr.length;x++){if(x!=arr.length-1)str+=arr[x]+separator;elsestr+=arr[x];} return str;}//pop 方法 移除數組中的最后一個元素,并返回元素 /*println("<hr/>");println(arr);//nbc,haha,cba,aaa,abcdarr.pop();println(arr);//nbc,haha,cba,aaa//shift 方法 移除數組中的第一個元素,并返回該元素。println(arr.shift());//nbaprintln(arr)//slice 方法 (Array) 返回一個數組的一段。//arrayObj.slice(start, [end]),包含頭不包含尾*/println("<hr/>");//sort 排序println(arr);//arr.sort();println(arr);//aaa,abcd,cba,haha,nbc//splice 方法 從一個數組中移除一個或多個元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。//arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])//刪除元素并進行元素的替換//var temp= arr.splice(1,3,8080,9527,"xixixi","wangcai");//println(temp);//刪除的元素:haha,cba,aaa//println(arr);//在刪除位置,并插入新元素nbc,8080,9527,xixixi,wangcai,abcd//println(arr.unshift("uuuu"));//將元素添加到數組的首位println(arr);//uuuu,nbc,haha,cba,aaa,abcd</script>

?

<!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(對象)
{
??? 在該區域中可以直接使用指定的對象的內容,不需要寫對象。
}

<script type="text/javascript">println("<hr/>");var date=new Date();function getWeek(num){var weeks=['星期日','星期一','星期二','星期三','星期四','星期五','星期六'];return weeks[num];}with (date) {var year = getFullYear();//getYear方法已過時var month = getMonth() + 1;//注意month的取值為0-11var day = getDate();var week = getWeek(date.getDay());println(year+"年"+month+"月"+day+"日 "+week);} </script>

Math對象
是一個固有對象,提供基本數學函數和常數。
Math.[{property | method}]
參數
property 必選項。Math 對象的一個屬性名。
method 必選項。Math.對象的一個方法名。

<script type="text/javascript" src="out.js"></script><script type="text/javascript">/** 演示Math對象,該對象中的方法都是靜態的,不需要new,直接可以Math調用*/var num1=Math.ceil(12.34);//13,返回大于等于參數的最小整數var num2=Math.floor(12.34);//12,返回小于等于參數的最大整數var num3=Math.round(12.34);//12,四舍五入println("num1="+num1);println("num2="+num2);println("num3="+num3);var num4=Math.pow(10,2);//10^2println("num4="+num4);println("<hr/>")for(var x=0;x<10;x++){//var num=Math.floor(Math.random()*10+1);//偽隨機數,取整//parseInt,全局方法var num=parseInt(Math.random()*10+1);//偽隨機數,取整println(num);}</script>

全局方法

<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的全部內容,希望文章能夠幫你解決所遇到的問題。

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