準(zhǔn)確的說:es(ECMAScript)是js(javascript)的標(biāo)準(zhǔn)。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)洮南免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
JavaScript是語言,而ECMAScript(即ECMA-262,ECMA是歐洲計(jì)算機(jī)制造商協(xié)會(huì))是為了規(guī)范JS而制定的標(biāo)準(zhǔn),ECMAScript有不同版本,最近的版本是第10版,發(fā)布于2019.6。
完整的JavaScript的實(shí)現(xiàn)包含以下幾個(gè)部分:
核心(ECMAScript):由ECMA-262定義并提供核心功能。
文檔對(duì)象模型(DOM):提供與網(wǎng)頁內(nèi)容交互的方法與接口。
瀏覽器對(duì)象模型(BOM):提供與瀏覽器交互的方法與接口。
可以用下面這張圖進(jìn)行粗略的記憶
具體來說,ECMA-262定義了一門語言的如下部分
語法
類型
語句
關(guān)鍵字
保留字
操作符
全局對(duì)象
ECMA-262第6版,俗稱ES6、ES2015或ES Harmony(和諧版),于2015年6月發(fā)布。這一版包含了大概這個(gè)規(guī)范有史以來最重要的一批增強(qiáng)特性。ES6正式支持了類、模塊、迭代器、生成器、箭頭函數(shù)、期約、反射、代理和眾多新的數(shù)據(jù)類型。
DOM Level 1 在1998.10成為W3C的推薦標(biāo)準(zhǔn)。它由DOM Core 和DOM HTML兩個(gè)部分組成。DOM Core提供了一種映射XML文檔,從而方便訪問和操作文檔任意部分的方式;DOM HTML擴(kuò)展了前者,并增加了特定于HTML的對(duì)象和方法。
DOM Level 2? 新增了以下模塊,以支持新的接口。
DOM視圖:描述追蹤文檔不同視圖(如應(yīng)用CSS樣式前后的文檔)的接口。
DOM事件:描述事件及事件處理的接口。
DOM樣式:描述處理元素CSS樣式的接口。
DOM遍歷和范圍:描述遍歷和操作DOM樹的接口。
DOM Level 3 增加了以統(tǒng)一的方式加載和保存文檔的方法(包含在一個(gè)叫DOM Load and Save的新模塊中),還有驗(yàn)證文檔的方法(DOM Validation)。
DOM Level 4 新增Mutation Observers,替代 了Mutation Events .
BOM 主要針對(duì)瀏覽器窗口和子窗口(frame),不過人們通常會(huì)把任何特定于瀏覽器的擴(kuò)展都?xì)w在 BOM 的范疇內(nèi)。 下面就是這樣一些擴(kuò)展。
彈出新瀏覽器窗口的能力;
移動(dòng)、縮放和關(guān)閉瀏覽器窗口的能力;
navigator對(duì)象,提供關(guān)于瀏覽器的詳盡信息;
location對(duì)象,提供瀏覽器加載頁面的詳盡信息;
screen對(duì)象,提供關(guān)于用戶屏幕分辨率的詳盡信息;
performance對(duì)象,提供瀏覽器內(nèi)存占用、導(dǎo)航行為和時(shí)間統(tǒng)計(jì)的詳盡信息;
對(duì)cookie的支持;
其他自定義對(duì)象,如XMLHttpRequest和IE的ActiveXObject。
出處:《JavaScript高級(jí)程序設(shè)計(jì)(第4版)》Matt Frisbie著 李松峰譯
javascript是一門腳本編程語言。一般至少要學(xué)1~2個(gè)月,才有效果,也視個(gè)人天賦而定。當(dāng)然也少不了大量練習(xí),要經(jīng)常自己動(dòng)手寫 特效。要求網(wǎng)上大部分特效,你都能改。然后自己能寫一些簡單的特效,就算入門了。但要精通的話就得花些時(shí)間了,最好參與些項(xiàng)目,很多技巧不通過項(xiàng)目這樣比較大的歷練是用不上的。千鋒軟件開發(fā)培訓(xùn)課程的授課模式采用全程面授,講師成本雖高,但是效果卻是顯著的,和學(xué)員面對(duì)面溝通,了解到學(xué)員在學(xué)習(xí)過程中遇到的問題,動(dòng)態(tài)地調(diào)整授課方式。
千鋒教育就有線上免費(fèi)的軟件開發(fā)公開課,。
JavaScript是腳本語言,主要用來編寫動(dòng)態(tài)網(wǎng)頁。建議先從基本的HTML和CSS學(xué)起,學(xué)學(xué)靜態(tài)頁面布局。然后在網(wǎng)上找一些javascript入門級(jí)的視頻教程,按照教程一步步由淺入深按部就班的學(xué)習(xí)就OK。
編程一方面靠的是邏輯思維,另一方面也是一個(gè)孰能生巧的過程,只要多敲幾遍代碼,將基礎(chǔ)知識(shí)融會(huì)貫通,肯定能夠?qū)W好的。千鋒教育集團(tuán)目前已與國內(nèi)4000多家企業(yè)建立人才輸送合作,與500多所大學(xué)建立實(shí)訓(xùn)就業(yè)合作,每年為各大企業(yè)輸送上萬名移動(dòng)開發(fā)工程師,每年有數(shù)十萬名學(xué)員受益于千鋒教育組織的技術(shù)研討會(huì)、技術(shù)培訓(xùn)課、網(wǎng)絡(luò)公開課及免費(fèi)教學(xué)視頻。
你這個(gè)問題太費(fèi)勁了,不過終于寫好了
===================================================
script language = "javascript"
/**
* 跟據(jù)年份和月份返回當(dāng)前日期的最大天數(shù)
*/
function getMonthMaxDay(year, month) {
if (month == 4 || month == 6 || month == 9 || month == 11) {
return 30;
} else if (month != 2) {
return 31;
} else {
if (year % 4 == 0 || (year % 100 == 0 year % 400 == 0)) {
if (month == 2) {
return 29;
}
} else {
if (month == 2) {
return 28;
}
}
}
return 0;
}
function getNextNumDay(nowDate, dayNum){
var intBeginYear = parseInt(nowDate.substring(0, 4),10);
//從"-"后截取月數(shù)
var intBeginMonth = parseInt(nowDate.substring(nowDate.indexOf("-") + 1, nowDate.indexOf("-") + 3),10);
var intBeginDate = parseInt(nowDate.substring(nowDate.lastIndexOf("-") + 1, nowDate.lastIndexOf("-") + 3),10);
var day = new Date(Date.parse(nowDate.replace(/-/g, '/'))); //格式化時(shí)間
var week = day.getDay();//獲得今天是周幾
var restDay = parseInt(dayNum/7,10)*2 + dayNum;
var otherDay = dayNum%7;
if(week == 5)//周5加兩天
restDay+=2;
if(week == 6)//周6加一天
restDay+=1;
var nowDay1 = getAfterDay(dayNum,intBeginDate,intBeginMonth,intBeginYear);
var newday = new Date(Date.parse(nowDay1.replace(/-/g, '/'))); //格式化時(shí)間
var newWeek = newday.getDay();
if(week == 5)
restDay+=2;
if(week == 6)
restDay+=1;
return getAfterDay(restDay,intBeginDate,intBeginMonth,intBeginYear);
}
function getAfterDay(dayNum,intBeginDate,intBeginMonth,intBeginYear){
date2 = intBeginDate + dayNum;
year2 = intBeginYear;
month2 = intBeginMonth;
maxDate2 = getMonthMaxDay(year2,month2);
if(date2 maxDate2){
date2 = date2 - maxDate2;
month2 += 1;
if(month2 12){
month2 = month2 - 12;
year2 += 1;
}else if(month2 == 12){
month2 = 1;
year2 += 1;
}
}else if(date2 == maxDate2){
date2 = maxDate2;
}
if(date2 getMonthMaxDay(year2,month2)){
getAfterDay(date2,1,month2,year2)//如果減去日期后還是大于下月的天數(shù)則遞歸調(diào)用
}
if(parseInt(date2,10) 10){
date2 = '0' + parseInt(date2,10);
}
if(parseInt(month2,10) 10){
month2 = '0' + parseInt(month2,10);
}
var resultDate2 = year2+"-"+month2+"-"+date2;
return resultDate2;
}
alert(getNextNumDay('2011-01-22',9));
/script