一:
1.在JavaScript中常用的兩個(gè)函數(shù)
alert("彈出一個(gè)提示框") ;
document.write("向?yàn)g覽器輸出內(nèi)容")
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了奉新免費(fèi)建站歡迎大家使用!
alert("今天德國(guó)大勝嗎?") ;
向?yàn)g覽器輸出內(nèi)容
document.write("今天天氣不錯(cuò)!!") ;
2.關(guān)于JavaScript的變量的定義
var 變量名= 值;
注意:
1)在js中,var可以用來定義任何數(shù)據(jù)類型的變量,var 可以省略,但是不建議省略
2)var是可以重復(fù)定義變量的(后面的值會(huì)覆蓋掉前面的值),是因?yàn)镴avaScript弱類型語言,而Java是一種強(qiáng)類型語言
3)如果定義一個(gè)變量,但是變量沒有值,那么值(undefind),沒有定義的變量不能直接使用!
查看一個(gè)變量的數(shù)據(jù)類型,使用一個(gè)函數(shù):typeOf(變量名)
Javascript數(shù)據(jù)類型:
在javascript,數(shù)據(jù)類型變量名的值來決定的!
1)不管是整數(shù)還是小數(shù)都是number類型!
2)不管是字符還是字符串,都是string類型 String:在js中表示字符串對(duì)象
3)boolean類型
4)object :對(duì)象類型
3.!--
類型轉(zhuǎn)換函數(shù)
string----number類型的整數(shù) parseInt(變量)
stirng----number類型的小數(shù) parseFloat(變量)
-->
<script type="text/javascript">
//定義一個(gè)變量
var a = "10" ; //string :里面的值10
document.write("轉(zhuǎn)換前a的數(shù)據(jù)類型是:"+typeof(a)+"<br/>") ;
//轉(zhuǎn)換
a = parseInt(a) ;
document.write("轉(zhuǎn)換后a的數(shù)據(jù)類型是:"+typeof(a)+",值是:"+a) ;
document.write("<hr/>") ;
var b = "3.14" ;
document.write("轉(zhuǎn)換前b的數(shù)據(jù)類型是:"+typeof(b)+"<br/>");
//轉(zhuǎn)換
b = parseFloat(b) ;
document.write("轉(zhuǎn)換后b的數(shù)據(jù)類型是:"+typeof(b)+",值是:"+b+"<br/") ;
4./**
* 算術(shù)運(yùn)算符:+,-,* ,/.
* 比較運(yùn)算符:>= ,<= ,<,>..
* 邏輯運(yùn)算符:邏輯雙與&&.邏輯雙或||,邏輯非!
* 三元運(yùn)算符:表達(dá)式? true的結(jié)果:false的結(jié)果;
*
*
* 注意:js中,true代表1,false代表0
*/
/*var a = 10;
var b = 20 ;
document.write((a+true)+"<br/>") ;
document.write(a-b) ;*/
/*var a = 10;
var b = 20 ;
document.write(a<=b) ;*/
/*document.write((false && true)+"<br/>") ;
document.write((ftrue && true+)"<br/>") ;*/
/*document.write("<hr/>") ;
var age = 12 ;
document.write((age >= 18 ? "成年人": "未成年人")) ;*/
//流程語句
//if語句
/**
* if(表達(dá)式){
* 語句1;
* }else{
* 語句2;
* }
*/
/**
* 表達(dá)式的值:
* 如果是numbler類型,(整數(shù)類型,小數(shù)),0表示條件不成立
* 如果是string類型,要么字符要么字符串,必須有數(shù)據(jù),如果是空串,條件不成立
* 如果是boolean類型,true成立,false不成立
* 如果是object類型,必須有對(duì)象,否則如果是null
*/
//針對(duì)兩個(gè)結(jié)果判斷
if(null){
alert("條件成立") ;
}else{
alert("條件不成立")
}
//js中的switch語句和 Java中的switch語句的區(qū)別
//js中的case后面也可以跟常量,還可以跟變量,還可以跟表達(dá)式
//java中case后面只能跟常量!
/**
* switch(表達(dá)式){
* case 值1:
* 語句;
* break ;
*
* ...
* default:
* 語句;
* break ;
* }
5.//witch語句:格式 witch(document){....}
//將document對(duì)象當(dāng)做witch語句參數(shù),然后直接使用它里面的write() ;
/**
* //顯示"*"形,第一行有一個(gè)...
for(var i = 0 ; i<5; i++){//外層循環(huán)控制行數(shù)
for(var j= 0 ; j<=i; j ++){//內(nèi)層循環(huán)控制列數(shù)
document.write("* ") ; // 空格 轉(zhuǎn)義字符
}
document.write("<br/>") ;
}
document.write("<hr/>") ;
//table標(biāo)簽: 使用js里面嵌套表格標(biāo)簽
// document.write("<table align='center'>") ;
for(var i = 1 ; i <=9 ; i++){
//
for(var j = 1 ; j<=i ;j++){
document.write(i+""+j+"="+(ij)+" ") ;
}
document.write("<br/>") ;
}
// document.write("</table>") ;
*/
//with語句
with(document){
for(var i = 0 ; i < 5 ; i ++){
for(var j = 0 ; j <=i ; j++){
write("* ");
}
write("<br/>") ;
}
write("<hr/>") ;
for(var i = 1 ; i <=9 ; i++){
for(var j = 1 ; j <= i ;j++){
write(i+"*"+j+"="+(i*j)+" ") ;
}
write("<br/>") ;
}
}
6.//for-in:針對(duì)數(shù)組或者對(duì)象進(jìn)行遍歷
/**
* for(var 遍歷的變量名 in 數(shù)組名稱/對(duì)象名稱)//{
* 輸出變量名
* }
*
* 如果是對(duì)象(js中的對(duì)象是一個(gè)重點(diǎn))進(jìn)行操作,那么這里變量名就是當(dāng)前對(duì)象的屬性
7.函數(shù)的定義:
8.
//方式1
// String str = new String() ;
//var str1 = new String("hello") ;
/*var str2 = new String("hello") ;
document.write((str1==str2)+"<br/>") ;
//在js中valueOf() 默認(rèn)比較的是他們 的內(nèi)容是否相同
document.write(str1.valueOf()==str2.valueOf()+"<br/>") ;*/
//創(chuàng)建方式2
//直接賦值的形式
/*var s1 = "hello" ;
var s2 = "hello" ;
document.write(s1==s2+"<br/>") ;
document.write(s1.valueOf()==s2.valueOf()) ;*/
//js中String對(duì)象 的常用方法
//chatAt() :返回指定索引位置處的字符
//indexOf():表示某個(gè)子字符串在當(dāng)前字符串中第一次出現(xiàn)的索引
//lastindexOf();
//fontColor():給當(dāng)前字符串設(shè)置一個(gè)顏色標(biāo)記
//substrint(start,end):截取功能
9.
//向上取整 //在整數(shù)位置+1
var num = 4.30 ;
document.write(Math.ceil(num)+"<br/>");
//向下取整 :如果有小數(shù)部分,將小數(shù)部分去除掉,保留整數(shù)位
document.write(Math.floor(num)+"<br/>");
//四舍五入
document.write(Math.round(num)+"<br/>");
//獲隨機(jī)數(shù) random():包含0,但是不包含1
document.write(Math.random()*100+"<br/>") ;
//max/min
document.write(Math.max(num,100)) ;
10.function newDate(){
//生成一個(gè)系統(tǒng)時(shí)間的格式:2018-6-17 時(shí):分:秒
//創(chuàng)建Date對(duì)象
var date = new Date() ;
//dateStr就是系統(tǒng)時(shí)間
var dateStr = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+
date.getHours()+":"+date.getMinutes()+":"+date.getSeconds() ;
//獲取span標(biāo)簽對(duì)象,通過id獲取
var dateTip = document.getElementById("dateTip") ; //dateTip is null
//設(shè)置span標(biāo)簽的innerHTML屬性:文本屬性
dateTip.innerHTML = dateStr;
}
//定時(shí)器
//1)setInterval("任務(wù)",毫秒值) ; 每經(jīng)過多少毫秒重復(fù)執(zhí)行這個(gè)任務(wù)(函數(shù))
//2)timeout("任務(wù)",毫秒值) ;經(jīng)過多少毫秒后執(zhí)行一次這個(gè)任務(wù)
window.setInterval("newDate()",1000) ;
11.//如何創(chuàng)建一個(gè)Date對(duì)象
var date = new Date() ;
//alert(date) ; //Sun Jun 17 2018 16:05:35 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
//獲取系統(tǒng)時(shí)間: 2018年6月17日 XXX時(shí):xx分:xx秒 --->Java中存在一個(gè)類:SimpleDateFormat
//getFullYear :獲取年份
document.write(date.getFullYear()+"年") ;
//獲取月份:getMonth 方法返回一個(gè)處于 0 到 11 之間的整數(shù),
document.write((date.getMonth()+1)+"月") ;
//獲取月份中的日期
document.write(date.getDate()+"日"+" ") ;
//獲取一天當(dāng)中的小時(shí)
document.write(date.getHours()+":") ;
//獲取分
document.write(date.getSeconds()+":") ;
//獲取分鐘的秒
document.write(date.getMinutes()) ;
_____________________________________________________
一:
1. Array對(duì)象的創(chuàng)建方式
*
* 注意事項(xiàng):
* 1)在js中,數(shù)組可以存儲(chǔ)任意類型的元素!
* 2)在js中,不存在數(shù)組角標(biāo)越界一說,數(shù)組中的元素?cái)?shù)量是可以不斷的增加..不會(huì)出現(xiàn)異常!
*
*/
//方式1:相當(dāng)于動(dòng)態(tài)初始化
//1.1
// var arr = new Array(3) ;
//1.2
// var arr = new Array() ; //表示0個(gè)長(zhǎng)度
/*alert(arr.length) ;
//給元素賦值
arr[0] = "hello" ;
arr[1] = 100;
arr[2] = true ;
arr[3] = "world" ;
alert(arr.length) ;*/
//1.3 直接指定數(shù)組中 具體元素
// var arr = new Array("hello",100,true,'a') ;
//方式2 :直接指定數(shù)組的元素,不需要new Array() ;類似于Java中數(shù)組的靜態(tài)初始化;
/*var arr = [10,"hello","world",true] ;
//遍歷數(shù)組
for(var i = 0 ; i < arr.length ;i++){
document.write(arr[i]+" ") ;
}*/
/**
* 兩個(gè)方法
* join():將數(shù)組中的所有元素以一個(gè)符號(hào)進(jìn)行拼接,返回一個(gè)新的字符串
* reverse 方法:將數(shù)組中的元素進(jìn)行反轉(zhuǎn)
js中的自定義對(duì)象
定義對(duì)象
1)相當(dāng)于有參構(gòu)造 的形式
2)無參構(gòu)造的形式
function 自定義對(duì)象(Person) (參數(shù)名){
//定義屬性
//定義方法
}
創(chuàng)建對(duì)象
var p = new Preson(實(shí)際參數(shù)) ;
//輸出對(duì)象p中的屬性值
//調(diào)用對(duì)象p中的方法
3. 設(shè)計(jì)一個(gè)數(shù)組工具對(duì)象,例如ArrayUtil對(duì)象,該對(duì)象提供以下兩個(gè)方法:
search(array,target): 傳入指定的數(shù)組和指定的字符串,返回指定字符串所在的位置
max(array): 傳入指定的數(shù)組,返回該數(shù)組中的最大值
-->
//創(chuàng)建一個(gè)數(shù)組,靜態(tài)初始化
var arr = [43,65,13,87,3,19] ;
//創(chuàng)建ArrayUtil對(duì)象
var arrayUtil = new ArrayUtil();
//查詢3這個(gè)元素對(duì)應(yīng)的索引
var index = arrayUtil.search(arr,300) ;
document.write("你要查找的元素的位置是:"+index) ;
document.write("<hr/>") ;
//獲取arr中的最大值
var max = arrayUtil.max(arr) ;
document.write("當(dāng)前數(shù)組中的最大值是:"+max);
問題:剛才使用的是自定義了一個(gè)對(duì)象ArrayUtil對(duì)象,完成剛才查詢和最值操作;
在不提供任何工具類的情況下,怎么將search()和max()追加到Array(js的內(nèi)置對(duì)象)對(duì)象中
Array對(duì)象有的方法
function Array(){
this.join = function() {
}
this.reverse = function(){
}
//追加
this.search() = function(){
}
//這樣寫就不行了,因?yàn)锳rray對(duì)象是內(nèi)置對(duì)象,不能直接這做,獲取不到源碼!
}
原型(prototype)
作用:就是給js中的內(nèi)置對(duì)象追加方法使用的
1)每一個(gè)js內(nèi)置對(duì)象都有一個(gè)原型屬性(prototype)
2)如果往原型對(duì)象中追加一個(gè)方法,那么這個(gè)方法會(huì)自動(dòng)追加到內(nèi)置對(duì)象中
3)原型屬性是可以直接被內(nèi)置對(duì)象調(diào)用然后追加方法
//原理
/定義了原型對(duì)象
function Prototype(){
this.search = function(){
}
}
function Array(){
//創(chuàng)建原型對(duì)象
var prototype = new Prototype() ;
//自動(dòng)追加
this.search = function(){
}
}
-->
<script type="text/javascript">
//使用內(nèi)置對(duì)象的原型改進(jìn)
//給Array對(duì)象追加search
Array.prototype.search = function(target){
//遍歷Array對(duì)象中的數(shù)組
for(var i = 0 ; i< this.length ; i++){
//判斷
if(this[i] == target){
return i ;
}
}
//找不到,返回-1
return -1 ;
}
//內(nèi)置對(duì)象的原型屬性追加max()
Array.prototype.max = function(){
//定義參照物
var max = this[0] ;
//遍歷其他元素
for(var i = 1 ; i < this.length; i++){
//判斷
if(this[i] > max){
max = this[i] ;
}
}
return max ;
}
////創(chuàng)建一個(gè)數(shù)組,靜態(tài)初始化
var arr = [43,65,13,87,3,19] ; //var arr = new Array(43,65,13//) ;
var index = arr.search(3) ;
document.write("你要查找的元素的位置是:"+index+"<br/>") ;
var max = arr.max() ;
document.write("該數(shù)組中的最大值是:"+max) ;
5. window對(duì)象:它代表瀏覽器的一個(gè)窗口對(duì)象
注意:
由于window對(duì)象中的方法頻繁調(diào)用,所以為了簡(jiǎn)化書寫方式,有時(shí)候window可以去掉
里面涉及的方法:
open("打開資源文件url","以什么什么方式打開(_blank)/_self","指定新打開的窗口和高度")
和定時(shí)器相關(guān)的方法:
setInterval("任務(wù)",時(shí)間毫秒值); 沒經(jīng)過多少毫秒后重復(fù)執(zhí)行這個(gè)任務(wù)
clearInterval():取消和setInterval相關(guān)的任務(wù)
window.clearInterval(iIntervalID) :這個(gè)要插入一個(gè)Id
setTimeout("任務(wù)",時(shí)間毫秒值); 經(jīng)過多少毫秒后只執(zhí)行一次
clearTimeout():取消和setTimeout相關(guān)的超時(shí)事件
和彈框相關(guān)的方法
window.alert("提示框") ; //window可以省略
window.confirm("消息對(duì)話框");有確認(rèn)框,取消框
prompt:提示對(duì)話框,其中帶有一條消息和一個(gè)輸入框
-->
<script type="text/javascript">
//觸發(fā)open單擊事件
function testOpen(){
//調(diào)用open 方法
window.open("06.廣告頁面.html","_blank") ;
}
//和定時(shí)器相關(guān)的函數(shù)
//定義一個(gè)任務(wù)id
var taskId ;
function testSetInterval(){
//每經(jīng)過2秒重復(fù)執(zhí)行testOpen
taskId = window.setInterval("testOpen()",2000) ;
}
//清除和setInterval相關(guān)的定時(shí)器
function testClearInterval(){
//調(diào)用功能
window.clearInterval(taskId) ;
}
//定位任務(wù)id
var timeoutId ;
//setTimeOut定時(shí)器
function testSetTimeout(){
//經(jīng)過3秒后執(zhí)行testOpen函數(shù)
timeoutId = window.setTimeout("testOpen()",3000) ;
}
function testClearTimeout(){
window.clearTimeout(timeoutId)
}
//alert的方法
function testAlert(){
// window.alert("今天天氣不錯(cuò)....");
alert("今天天氣不錯(cuò)....");
}
function testConfirm(){
//調(diào)用
var flag = window.confirm("確認(rèn)刪除嗎?一旦刪除,數(shù)據(jù)不可恢復(fù)!!") ;
if(flag){
alert("數(shù)據(jù)已刪除")
}else{
alert("您取消了刪除") ;
}
}
//和確認(rèn)提示框,有一條消息
function testPrompt(){
var flag = window.prompt("請(qǐng)您輸入u頓密碼!") ;
if(flag){
alert("輸入正確");
}else{
alert("請(qǐng)重新輸入");
}
}
6.
location對(duì)象:
href屬性:可以修改頁面的href屬性來實(shí)現(xiàn)頁面跳轉(zhuǎn) 更改的href屬性:--- URL(統(tǒng)一資源定位符)
URI
方法:
定時(shí)刷新:reload()
-->
<script type="text/javascript">
//loaction:地址欄對(duì)象
function testHref(){
// alert(window.location.href) ;
//修改location的href屬性
window.location.href="06.廣告頁面.html" ; //location的 href屬性
}
function testRelod(){
//調(diào)用reload定時(shí)刷新
window.location.reload() ;
}
//定時(shí)刷新:reload()
// function testRefresh(){
//定時(shí)器
window.setTimeout("testRelod()" ,1000) ;
// }
7. history對(duì)象中的方法
forward:裝入歷史列表中下一個(gè)url
back:裝入歷史列表中前一個(gè)url
go(正整數(shù)或者負(fù)整數(shù))
-->
<script type="text/javascript">
function testForward(){
//調(diào)用功能
// window.history.forward() ;
window.history.go(1) ;
}
8.事件編程的分類:
1)和點(diǎn)擊相關(guān)的事件
單擊點(diǎn)擊事件: onclick
雙擊點(diǎn)擊事件: obdbclick
2)和焦點(diǎn)相關(guān)的事件
獲取焦點(diǎn)事件:onfocus
失去焦點(diǎn)事件:onblur
3)和選項(xiàng)卡發(fā)生變化
-->
<script type="text/javascript">
//和單擊點(diǎn)擊相關(guān)的函數(shù)
function testClick(){
alert("點(diǎn)了...") ;
}
//雙擊
function testDbClick(){
alert("你得雙擊...") ;
}
//獲取焦點(diǎn)(在js中,一般情況如果要獲取標(biāo)簽對(duì)象,最好的使用方式就是給它給一個(gè)id,id是唯一的)
function testFocus(){
//通過id屬性
var usrename = document.getElementById("username") ; //獲取標(biāo)簽對(duì)象
username.value ="" ;
}
//失去焦點(diǎn)(鼠標(biāo)光標(biāo)從文本輸入框中移出來)
function testBlur(){
//獲取用戶在文本輸入框中的內(nèi)容
var username = document.getElementById("username").value ;
//獲取span標(biāo)簽對(duì)象
var nameTip = document.getElementById("nameTip") ;
//如果輸入的值不是"eric",就是提示用戶名不符合規(guī)則
if(username =="eric"){
//給nameTip設(shè)置innerHTML屬性
nameTip.innerHTML = "校驗(yàn)成功,符合規(guī)則".fontcolor("#00ff00") ;
}else {
nameTip.innerHTML ="用戶名不符合規(guī)則".fontcolor("#ff0000");
}
}
9. <!--
和選項(xiàng)卡發(fā)生變化相關(guān)的事件:onchange (下拉菜單,select標(biāo)簽)
和鼠標(biāo)相關(guān)的事件:
onmouseover:鼠標(biāo)經(jīng)過的事件
onmouseout:鼠標(biāo)移出的事件
和頁面加載相關(guān)的事件:onload
一般用在body
當(dāng)body中的內(nèi)容加載完畢之后就會(huì)觸發(fā)這個(gè)事件
10.
新聞名稱:JavaWeb學(xué)習(xí)內(nèi)容
本文網(wǎng)址:http://aaarwkj.com/article16/iighgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、電子商務(wù)、虛擬主機(jī)、服務(wù)器托管、外貿(mào)建站、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)