java && javascript && php 轟炸!!!恢復 1.javascript簡介 *是基於對象和時間的驅動語言,應用於客戶端。 基於對象: **提供好了很多對象,可以直接拿過來使用。 事件驅動: **基於事件本來要求做出動態效果。 客戶端: **專門指運行於客戶端。 2.javasc ...
java && javascript && php 轟炸!!!恢復
1.javascript簡介
*是基於對象和時間的驅動語言,應用於客戶端。
-----基於對象:
**提供好了很多對象,可以直接拿過來使用。
-----事件驅動:
**基於事件本來要求做出動態效果。
-----客戶端:
**專門指運行於客戶端。
2.javascript特點
(1)交互性
---信息的動態交互
(2)安全性
---js不能訪問本地磁碟文件。
(3)跨平臺性
---只要能夠支持js的瀏覽器,都可以運行。
3.js組成
---ECMAscript(js的基本語法)
---bom (瀏覽器對象模型):對網頁視窗界面所做的操作。
---dom (文檔對象模型):對網頁內容增刪改等所做的操作。
4.javascript與java的區別
(1)Java早期是sun公司,如今是oracle公司,sun公司被oracle收購。js是網景公司。1
(2)javascript是基於對象的,有設置好的內置對象,而Java是面向對象的,需要new一個類的對象的實例化。
(3)Java是強類型語言,js是弱類型語言。
例:Java里的int i="10",這就是錯誤的寫法,必須寫成int i=10或者String i="10"
而在js中,var i=10和var i="10"這兩種寫法均是正確的。
(4)js只需要解釋就可以執行,而Java需要編譯成位元組碼文件,才可以執行。
(5)js可以運行於任何一臺支持js的瀏覽器上,Java能運行在任何一臺安裝了Java虛擬機的電腦上。
(6)javascrip與Java雖然在名字上有一點點類似,但實際沒有任何關係。
**Java有8種基本數據類型
基本數據類型 | 位元組 |
byte | 1 8位 |
short | 2 16位 |
int | 4 32位 |
long | 8 64位 |
float | 4 32位 |
double | 8 64位 |
char | 2 16位 |
boolean | 1 8位 |
js有5種原始數據類型
定義變數:使用關鍵是var
* String (字元串) var str="asfgdasga";
* number (數字類型) var m=123;
* boolean (true或者 false)
* null var date=new date();表示對象引用為空,所有對象的引用均是object
* undifined (定義了變數,沒有賦值)
** js獲取系統時間的方法
var date =new Date();
window.alert(date.getFullYear()); //2018 獲取當前年份
window.alert(date.getMonth()); //4 獲取當前月份
window.alert(date.getDate()); //26 獲取當前x號
window.alert(date.getDay()); //6 獲取當前星期x
window.alert(date.toLocaleString()); //獲取日期與時間 2018/5/26 下午12:05:45
window.alert(date.getHours()); //12 獲取當前小時
window.alert(date.getMinutes()); //5 獲取當前分鐘數
window.alert(date.getSeconds()); //46 獲取當前秒數
window.alert(date.toLocaleDateString()); //2018/5/26 獲取當前日期
window.alert(date.toLocaleTimeString()); //下午12:08:23 獲取當前時間
**java獲取系統時間的方法:
package example3;
import java.text.SimpleDateFormat;
import java.util.Date;
public class test{
public static void main(String[] args) {
/*Date day=new Date();
System.out.println(day.toLocaleString()); //用此函數實現也可以。
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df.format(day)); */
//2018-05-26 12:12:20
Date date=new Date();
String year = String.format("%tY", date);
String month = String.format("%tB", date);
String day = String.format("%te", date);
System.out.println("今天是:"+year+"年"+month+day+"號");
//今天是:2018年五月26號
}
}
**php獲取系統時間的方法:
$date=date("Y-m-d H:i:s",time());
echo $date;
** Java中和js,php運算符的不同。
在Java中,算式123/1000*1000 得到的結果為0
在js中,算式123/1000*1000的結果為123
原因是Java中的除法運算結果只能得到整數,自動忽略小數。而在js中,會精確到小數點後16位。php與js相同
window.alert(str+1); // 123451
window.alert(str-1); //12344
window.alert(str1+1); //abc1
window.alert(str1-1); //NaN (not a number)
var flag=true;
window.alert.(flag+1); // 2
var flag1=false;
window.alert.(flag1+1); // 1
在Java中,
String str1="abcd";
String str="12345";
System.out.println(str+1); //123451
System.out.println(str1+1); //abcd1
//System.out.println(str-1); 錯誤寫法,編譯是就無法通過。
在php中
$str="1234";
echo $str+1; //1235
echo $str-1; //1233
數組定義:js中,
1.var array=[1,"2",true,"122345"]; //數組中可以放任意類型的數據。
2.var array=new Array(5);
array[0]="1";
array[1]=java;
3.var array=new Array("2","baojuan","hello");
在Java中,嚴格規定存入數組的數據的類型。
1.int[ ] arr=new int[5];
arr[0]=5;
arr[1]="1234556"; //將會報錯,錯誤寫法。
2.int[ ] arr=new int[ ]{1,2,3,5,5};
3.int[ ] arr={1,2,5,6,9};
在PHP中,
/*
$array
=
array
();
$array
[
0
] =
"45665"
;
$array
[
1
] =
"hello"
;*/
/*
$users
=
array
(
'phone'
,
'computer'
,
'dos'
,
'linux'
);*/
/*
$users
=
array
(
'trigkit4'
=>22,
'mike'
=>20,
'john'
=>30,'key'=>value);*/
php中特殊的遍歷方法:
foreach
(
$users
as
$key
=>
$value
){
echo
$key=>$value
.
'<br/>'
;
函數區別:
在java中定義一個函數
public 返回值類型 void/int 方法名(參數列表){
方法體;
返回值;
}
當返回值選int時,必須要有返回值,當返回值類型選void空類型時,一定不能有返回值。
public int add(int a, int b){
int sum=a+b;
return sum;
}
在js中,定義一個函數:
關鍵字(function)方法名 (參數列表){
方法體;
返回值(可有可無,根據實際需要取捨)
}
function add(a,b){
var sum=a+b;
alert(sum);
}
add(2,5);
var add1=function(m,n){
alert(m+n);
}
add1(5+6);
var add2=new Function("x,y","var sum;sum=x+y;return sum;");
alert (add2(2,5));
在PHP中,定義一個函數:
function 函數名(參數列表){
函數體;
返回值;
}
function
sum(
$a
,
$b
)
{
$num
=
$a
+
$b
;
return
$num
;
}
echo
sum(5,8);
Java和js相同的方法:(字元串連接)
String str1="abcd";String str="12345"; System.out.println(str1.concat(str)); //abcd12345 split()方法切分字元串與Java中是一樣的。 replace()方法和Java也是一樣的。需傳入兩個參數,原始字元串,用來替換的字元串。 var str1="abcd";
var str="12345gdgagga"; document.write(str1.concat(str)); document.write(str1.charAt(0)); //a 其中參數代表字元串下標,根據字元串下標返回字元 document.write(str1.indexOf(b)); //1 其中參數代表字母,根據字元串字元返回下標 document.write(str.substr(str,5,3)); //從第五位開始,向後截取3個字元 gdg document.write(str1.substring(3,5)); //從第三位開始截取,截取到第五位結束,但不包含第五位。 如果要尋找的字元不存在,則會返回-1. //45 concat()方法對於數組的連接也同樣適用。 var arr=[1,2,3,5]; //按照某一個標記來分割數組。 document.write(arr.join("-")); //1-2-3-5 push()方法向數組末尾添加元素。 pop()方法刪除數組中的一個元素,並返回被刪除的元素值。 reverse()方法經數組數據倒轉 js的math對象: Math.ceil(10.7) //向上舍入 無論小數點後是幾,都取11 floor() //向下舍入 無論小數點後是幾,都取10 round() //四捨五入 random() //返回0-1之間的隨機數 Math.random()*10 //表示返回0-10之間的隨機數 pow(x,y)表示x的y次冪 eval()函數可以直接使用,用於執行js代碼。 例:var str="alert ("1234568");"; eval(str); //1234568 encodeURI(); 對字元進行編碼 decodeURI(); 對字元進行解碼 **函數重載的定義:方法名相同,參數不同 js中不存在重載,但可以通過數組來模擬實現重載效果。(面試題) function add(){ //將傳遞的參數保存進入arguments數組中。
if(arguments.length==2){
return arguments[0]+arguments[1];
}else if(arguments.length==3){
return arguments[0]+arguments[1]+arguments[2];
}else if(arguments.length==4){
return arguments[0]+arguments[1]+arguments[2]+arguments[3];
}else{
return 0;
}
}
alert (add(2,3)); //5
alert (add(2,3,5)); //10
alert (add(2,3,4,5)); //14
alert (add(2,3,2,5,8)); //0 bom對象 screen.width screen.height location.href("某個頁面的路徑"); //可以用於點擊事件的頁面跳轉 history.back(); //可以用於頁面跳轉時跳到上一個頁面 history.forward(); //可以用於頁面跳轉時跳到下一個頁面 history.go(-1); //跳至上一個頁面 history.go(1); //跳至下一個頁面 var blag=window.confirm("確定刪除嗎?") //返回布爾類型的結果 window.prompt(); //在視窗提示輸入對話框 window.open(); //打開新視窗 window.close(); window.setInterval("js代碼",毫秒數); 1秒=1000毫秒 window.setInterval("alert('hgahsfJ');",3000); //表示每隔三秒,執行一次alert方法 window.setTimeout("js代碼",毫秒數); //表示在毫秒數之後執行,但只會執行一次。 clearInterval("傳入setInterval函數的返回值"); //清除setInterval設置的計時器 clearTimeout("傳入setInterval函數的返回值"); //清除setTimeout設置的定時器 *** js的dom對象 document.getElementById("id號"); docuemnt.getElementByTagName("標簽名(input)"); //返回的也是一個對象集合。 window.opener(); //得到創建這個頁面的父頁面。 **dom對象 <html>
<head>
<meta http-equiv="content-type"content="text/html charset=utf-8"/>
<ul id="ulid">
<li>gsggs</li>
<li>gsggs</li>
<li>gsggs</li>
</ul>
<input type="button"name="button"value="添加"onclick="add();"/>
<script type="text/javascript">
//在末尾添加結點
function add(){
//獲取到ul標簽
var ulid=document.getElementById("ulid");
//創建標簽
var li1=document.createElement("li");
//創建文本
var text=document.createTextNode("gddsag");
//把文本加到li1節點之下
li1.appendChild(text);
//把節點li1加到ul之下
ulid.appendChild(li1);
} </script>
</head>
</html> **獲取標簽的屬性值 1.var input1=document.getElementById("inputid"); alert(input1.value); alert(input1.getAttribute("value")); input1.setAttribute("屬性名","屬性值"); 總結:內容很多,後期繼續分享,今日到此結束!時間到,告辭! 革命尚未成功!同志仍需努力!