Time of Update: 2017-01-19
複製代碼 代碼如下:<script><!--開啟記事本程式-->function openNotepad(){ var wsh=new ActiveXObject("wscript.shell") wsh.run("notepad.exe")//如果在“運行”可以運行就可以在此直接寫,否則要寫上絕對路徑}<!--開啟word程式-->function openWord(){ var wsh=new
Time of Update: 2017-01-19
複製代碼 代碼如下: //金額格式轉換 function parsePrice(s) { var n = 2 //設定保留的小數位元 s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + ""; var l = s.split(".")[0].split("").reverse(); var r = s.split(".")[1]; var t = ""; for (i = 0; i < l.length; i++)
Time of Update: 2017-01-19
上一篇寫了個工具函數$class,這篇再完善以下。實現以下功能1,繼承2,子類繼承父類時,不繼承父類的私人屬性複製代碼 代碼如下:/** * @param {String} className * @param {String/Function} superCls * @param {Function} classImp */function $class(className, superCls, classImp){
Time of Update: 2017-01-19
之前討論過JavaScript中的寫類方式。但沒有討論私人的實現。這篇看下。我們知道JS中私人屬性的實現本質就是 var + closure。如下複製代碼 代碼如下:function Person(n, a){ // public this.name = n; // private var age = a;
Time of Update: 2017-01-19
工作中我們經常需要判斷某個變數/屬性是否為undefined。通常有兩種寫法複製代碼 代碼如下:// 方式1 typeof age === 'undefined'; // 方式2 age === undefined 這兩種寫法有什麼區別嗎? 應該使用哪一種呢?看看下面的例子 複製代碼 代碼如下:typeof age === 'undefined'; // true 標識符 age 沒有聲明過,輸出true。再看另一個例子 複製代碼 代碼如下:age === undefined; // 報錯
Time of Update: 2017-01-19
複製代碼 代碼如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>伸縮的菜單</title> <style> <!-- body{ background-color:#ffdee0
Time of Update: 2017-01-19
我們在寫註冊頁面的時候,必填資訊是可見的,可選資訊是隱藏的,如果使用者希望填寫,可以單擊“詳細資料”。 複製代碼 代碼如下: <!-- 下面代碼通過javascript實現資訊的顯示和隱藏 --> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <script
Time of Update: 2017-01-19
JavaScript預設採用原型繼承。雖然沒有類(class)的概念,它的函數(function)可以充當構造器(constructor)。構造器結合this,new可以構建出類似Java的類。因此,JavaScript通過擴充自身能類比類式(class-based)繼承。JavaScript和其它物件導向語言一樣,物件類型採用引用方式。持有對象的變數只是一個地址,而基本類型資料是值。當原型上儲存物件時,就可能有一些陷阱。先看第一個例子複製代碼 代碼如下:var create =
Time of Update: 2017-01-19
我們知道 instanceof 運算子用來檢查對象是否為某構造器的執行個體。下面列舉它返回true的各種情景。1、對象obj是通過new Constructor建立的,那麼 obj instanceof Constructor 為true複製代碼 代碼如下:function Person(n, a) { this.name = n; this.age = a; } var p = new Person('John
Time of Update: 2017-01-19
變數及變數聲明是一門語言最基本的概念,初學者都會很快掌握。JavaScript中聲明變數也是如此,很簡單var(關鍵字)+變數名(標識符)。方式1var test;var test = 5;需注意的是該句不能包含在function內,否則是局部變數。這是第一種方式聲明全域變數。方式2test = 5;沒有使用var,直接給標識符test賦值,這樣會隱式的聲明了全域變數test。即使該語句是在一個function內,當該function被執行後test變成了全域變數。方式3window.test;
Time of Update: 2017-01-19
ES3 中,delete在8.6.2.5及11.4.1有介紹,如下有一些資訊,1、實現上delete操作符會調用引擎內部的[[Delete]]方法2、[[Delete]]在8.6.2裡定義3、刪除的屬性有個DontDelete的特性,如果有,delete時直接返回false搜尋“DontDelete”,會發現有很多,如下都不能delete1, 啟用物件的arguments對象 (10.1.6)複製代碼 代碼如下:function func() {
Time of Update: 2017-01-19
Javascript中小括弧有五種語義語義1,函式宣告時參數表複製代碼 代碼如下:function func(arg1,arg2){ // ... } 語義2,和一些語句聯合使用以達到某些限定作用複製代碼 代碼如下:// 和for in一起使用 for(var a in obj){ // ... } // 和if一起使用 if(boo){ //... } // 和while一起使用 while(boo){ // ... } // 和do
Time of Update: 2017-01-19
Javascript中括弧有四種語義語義1,聲明數組 複製代碼 代碼如下:var ary = []; // 聲明一個空數組var ary = [1,3]; // 聲明一個數組,同時賦初值語義2,取數群組成員 複製代碼 代碼如下:var ary = [1,2,3];var item = ary[0];語義3,定義對象成員 (可以不遵循標識符規則 )複製代碼 代碼如下:var obj = {};// 為obj添加一個屬性name,name是合法的標識符,即也可以通過obj.name方式來定義obj[
Time of Update: 2017-01-19
複製代碼 代碼如下: <%@ page language="java" pageEncoding="UTF-8"%> <html> <head> <script> function load(cid) { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); }
Time of Update: 2017-01-19
複製代碼 代碼如下:<!DOCTYPE html><html><head><title>JS類比地球旋轉-柯樂義</title></head><body><div><h2>JS類比地球旋轉·柯樂義</h2></div><div id="keleyi_com"
Time of Update: 2017-01-19
JS中大括弧有四種語義作用語義1,組織複合陳述式,這是最常見的 複製代碼 代碼如下:if( condition ) { //... }else { //... } for() { //... } 語義2,對象直接量聲明 複製代碼 代碼如下:var obj = { name : 'jack', age : 23 }; 整個是個指派陳述式,其中的{name:'jack',age:23
Time of Update: 2017-01-19
點號「.」在JavaScript中有兩種語義語義1、表示算術中的小數點(浮點數),如 2.5語義2、取對象屬性、方法,如 [].push(2)這幾乎沒有任何難理解的地方,但下面這個問題則很有趣。複製代碼 代碼如下:// 這行代碼會如何執行 1.toString(); Firebug 中如下這裡的點號表達的是上述的語義1,因此點號後面必須跟一個數字,這裡跟的是toString,報文法錯了。解決方案很簡單,如加個小括弧複製代碼 代碼如下:(1).toString();
Time of Update: 2017-01-19
JS提供了一些內建對象、函數和構造器供我們編程,如Math、parseInt、Object、Array等。這些都是可見的,編程時可以使用的。比如我可以new Object 或 new Array。有一些則是不可見的,這些對象只能由引擎在特殊的情形提供。這些類型的對象往往還被消減了一些功能。下面列舉一些一、Arguments 類型Arguments 類型 不能由程式員手動建立其對象,即你不能 new Arguments() 。 它有且僅有一個對象arguments複製代碼
Time of Update: 2017-01-19
1.傳值(by value)變數的值被複製出一份,與原來的值將不相干,也就是說即使新的值被修改,原來的值也不會改變,在JavaScript中基本類型都是傳值的.複製代碼 代碼如下:function testPassValue(){ var m=1; var n=2; //將m,n的值複製一份,傳遞到passValue passValue(m,n);
Time of Update: 2017-01-19
這個效果並不難,要點是位置和比例設定,捕獲滑鼠位置、判斷滑鼠位置地區、還有onmouseover事件、onmousemove事件、onmouseout事件設定顯示大圖的比例,小圖上顯示的切圖比例都要弄準確點,最好是2倍啦,4倍啦。主要注意寬度,我這裡的圖片m.jpg是1440X900的....複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD Xhtml 1.0 Transitional//EN"