Time of Update: 2017-01-19
建立 var d=new Date(); 要注意的是在JavaScript中月份的值是從0到11(0表示1月)。 設定日期和時間值 設定日期和時間值有兩種方法: 1、只聲明距離1970年1月1日淩晨12點的毫秒數 a、直接用距離1970年1月1日淩晨12點的毫秒數 var d=new Date(0); b、parse方法: parse方法接受字串為參數,把該字串轉換成日期值,返回的是毫秒數。 例如為2012年2月27日建立Date對象: var d=new
Time of Update: 2017-01-19
建立Array對象 複製代碼 代碼如下: //one var aValues=new Array(); //two var aValues=new Array(20); //three var aColors=new Array(); aColors[0]="red"; aColors[1]="green"; aColors[2]="blue"; //four var aColors=new Array("red","green","blue"); //five var
Time of Update: 2017-01-19
也就是說,移到對象的子物件上,也算onmouseout了。但這往往會達不到我們想要的預期效果。這是由於javascript自身的冒泡特性導致的(即在子項目上觸發了事件,並冒泡到了父元素-堆棧後進先出演算法)。今天在網上搜了一下,找了以下的解決辦法(相容IE和Firefox)。 在IE下解決問題很簡單,用onMouseEnter、onMouseLeave來代替onMouseOver、onMouseOut就行了,他們的作用基本相同,但前者不會發生冒泡(如果用
Time of Update: 2017-01-19
Function類 定義 Function類可以表示開發人員定義的任何函數,用Function類直接建立函數的文法如下: var function_name=new Function(agrument1,agrument2,...,argumentN,function_body); 每個argument都是一個參數,最後一個參數是函數主體(要執行的代碼)。 樣本: 複製代碼 代碼如下: function sayHi(sName,sMessage){ alert("Hello
Time of Update: 2017-01-19
我們調用它的寫法是<script type="text/javascript" src="http://fw.qq.com/ipaddress"></script>。它能夠返回使用者IP和地址,例如:var IPData = new Array("220.181.108.85","","北京市",""); 我們便可以使用IPData[0]作為使用者IP了。 但是最近不知道騰訊怎麼回事,這個地址失效了,提示“HTTP 500 內部伺服器錯誤”。
Time of Update: 2017-01-19
if語句 文法: 複製代碼 代碼如下: if(condition){ statement1; } else{ statement2; } 迭代語句 1、do-while語句 文法: 複製代碼 代碼如下: do{ statement }while(expression); 2、while語句 文法: 複製代碼 代碼如下: while(expression){ statement } 3、for語句 文法: 複製代碼 代碼如下:
Time of Update: 2017-01-19
這個時候,出現了encodeURIComponent、decodeURIComponent,它可以完全的對URL進行編碼解碼,但是遇到例如搜尋引擎用到的部分轉碼,又摸不到門了,沒問題,PHP官方出了一個解決方案: 複製代碼 代碼如下: decodeURIComponent((str + '').replace(/\+/g, '%20')); 他可以完美的對搜尋引擎的地址進行解碼,因為搜尋引擎只習慣對”空格“進行轉碼。忘了說還習慣對中文進行轉碼。。。
Time of Update: 2017-01-19
2.9.5、加性運算子 加性運算子(即加號和減號)通常是最簡單的運算子,不過在ECMAScript中,每個加性運算子都有大量的特殊行為。 1、加法運算子: 複製代碼 代碼如下: var iResult=1+2; console.log(iResult);//outputs 3 特殊性: 某個運算數是NaN,結果為NaN Infinity加Infinity,結果為Infinity -Infinity加-Infinity,結果為-Infinity
Time of Update: 2017-01-19
演算法根源: 大致是這樣車輛識別代碼的第9位是檢驗位,檢驗位可用0—9中任一數字或字母“X”表示。其它位置的數字和字母代表的意義個廠家含義可能不同,但在VIN碼的其他16位字碼確定後,按以下方法計算得出第九位的檢驗位。 首先將其它16位中的字母按下列關係轉換成數字: A=1 B=2 C=3 D=4 E=5 F=6 G=7 H=8 J=1 K=2 L=3 M=4 N=5 P=7 R=9 S=2 T=3 U=4 V=5 W=6 X=7 Y=8 Z=9 每個位置都有個加權數: 位置:1 2 3 4 5
Time of Update: 2017-01-19
2.9 運算子 2.9.1、一元運算子 一元運算子只有一個參數,即要操作的對象或值。 1、delete:刪除對以前定義的對象屬性或方法的引用,但此運算子不能刪除開發人員未定義的屬性和方法。樣本: 複製代碼 代碼如下: var o=new Object; o.name="Nicholas"; o.show=function(){ return "test"; }; console.log(o.name); //outpus Nicholas console.log(o.show()); /
Time of Update: 2017-01-19
JavaScript面試題要求:以下題目必須從一至四題中,選出三道題,使用原生代碼實現,不可使 用任何架構,第五題為選作題。 一、 在頁面的固定地區內實現圖片的展示 1. 每點擊一次右箭頭,圖片地區向左滾動出一張圖片,反之相同; 2. 當發現圖片滾動到末尾時,響應的箭頭變成不可點擊狀態; 3. 滑鼠在圖片地區內滑動滾輪,圖片會隨著滑鼠滾輪的方向進行響應的滾動; 二、 用 js、html、css實現一個彈出提示控制項: 1. 分別實作類別似於系統的
Time of Update: 2017-01-19
首先下載node.js,然後解壓到E盤,改名為node,然後開始菜單輸入cmd,用cd命令切換到nodejs的解壓目錄: 第一個例子:hello world。 在node目錄下建立hello.js檔案,然後在裡面輸入: 複製代碼 代碼如下: var sys = require("sys"); sys.puts("Hello world"); 然後我們在命名台中輸入命令node hello.js,就能看到命名台輸出結果Hello world。 第二個例子:hello world2。
Time of Update: 2017-01-19
內建對象 定義:由ECMAScript實現提供的、獨立於宿主環境的所有對象,在ECMAScript程式開始執行時出現。 由定義可知開發人員不必明確執行個體化內建對象,它已被執行個體化了。在ECMAScript-262隻定義了兩個內建對象,即Global和Math Global Global對象是ECMAScript中最特別的對象,因為實際上它根本不存在。 由於在ECMAScript中不存在獨立的對象,所有函數都必須是某個對象的方法,如前面提到的isNaN()、isFinite()
Time of Update: 2017-01-19
查詢了一下相關的資料,Div沒有自動滾動的屬性,只能類比滑鼠的滾動來現實想要的效果。 關鍵的部分部分在這裡:div.scrollTop = div.scrollHeight; 下面是具體實現的精簡代碼: 複製代碼 代碼如下: <html> <body> <div id="divDetail" style="overFlow-y:scroll; width:250px;height: 200px;"> <table style="border:1px
Time of Update: 2017-01-19
最近看了幾篇有關javascript閉包的文章,包括最近正火的湯姆大叔系列,還有《javascript進階程式設計》中的文章,……我看不懂,裡面有些代碼是在大學教科書中看都沒看過的,天書一般。幸好最近遇到兩本好書《ppk on javascript》和《object-oriented JavaScript》,正字閱讀中,後者還沒有中文版,但前者還是建議看原版,寫的不複雜,有興趣的朋友可以看看,適合想進階的朋友。
Time of Update: 2017-01-19
如下 複製代碼 代碼如下:function Person(name, age) { this.name = name; this.age = age; } var p = new Person('lily', 20); 發現某些庫代碼中建立正則對象的方式無需new,這讓人感到奇怪。如下 複製代碼 代碼如下:var reg = RegExp('^he$'); 測試發現使用或不使用new,最後返回的都是正則對象,且typeof它們都是“object”。 複製代碼 代碼如下: var reg1 =
Time of Update: 2017-01-19
如下 複製代碼 代碼如下:var a = 3; 實際有兩個步驟: 1 初始化a為undefined 2 a賦值3 因此會出現一些“匪夷所思”的現象,即JS中變數可以先使用後聲明。這在Java中是不允許的。 複製代碼 代碼如下:System.out.println(a); int a = 1; 編譯通不過。但JS可以,如下 複製代碼 代碼如下:alert(a); var a; 雖然是undefined,但不會報錯。說明a的確聲明了,且為undefined。
Time of Update: 2017-01-19
複製代碼 代碼如下: var a; // 聲明一個變數,標識符為a function a() { // 聲明一個函數,標示符也為a } alert(typeof a); 顯示的是“function”,即function的優先順序高於var。 有人覺得這是代碼順序執行的原因,即a被後執行的funcion覆蓋了。好,將它們調換下。 複製代碼 代碼如下: function a() { } var a; alert(typeof a); 結果仍然顯示的是“function”而非“undefined”
Time of Update: 2017-01-19
複製代碼 代碼如下:var date1=new Date(dateTimes[z][1]); 在Firefox下 可以正常取得時間,在IE7下 卻是 NaN。糾結老長時間,放棄了new date 然後再老外的論壇中找了一段段代碼可以相容所有瀏覽器的格式化日期代碼: 複製代碼 代碼如下: function NewDate(str) { str = str.split('-'); var date = new Date(); date.setUTCFullYear(str[0], str[1] -
Time of Update: 2017-01-19
DateAdd函數: 複製代碼 代碼如下: function DateAdd(interval,number,date){ switch(interval.toLowerCase()){ case "y": return new Date(date.setFullYear(date.getFullYear()+number)); case "m": return new Date(date.setMonth(date.getMonth()+number)); case "d": return