Time of Update: 2017-01-19
剛和同事討論了一個很有趣的問題,有個idea,需要記錄使用者在頁面選中的內容,在ff和ie9下有w3c的dom2級事件createRange,這裡不再累贅。主要問題是在IE6,7,8隻能通過createTextRange選中熱區。假如我們知道使用者選擇開始元素和位移量,以及結束元素以及位移量,那麼我們可以用下面的例子把使用者選擇的內容用js給標記起來 複製代碼 代碼如下: <head> <script> function mark() { var b= document.
Time of Update: 2017-01-19
複製代碼 代碼如下: var YX = { //得到JS內建資料類型的類型,傳回值包括[Date,RegExp,Number,String,Array,Boolean,Function,null,undefined,Object] getType : function(obj){ return obj == null ? obj + "" : Object.prototype.toString.call(obj).slice(8,-1); } //建立一個簡單的類 ,createClass :
Time of Update: 2017-01-19
也就是說,移到對象的子物件上,也算onmouseout了。但這往往會達不到我們想要的預期效果。這是由於javascript自身的冒泡特性導致的(即在子項目上觸發了事件,並冒泡到了父元素-堆棧後進先出演算法)。今天在網上搜了一下,找了以下的解決辦法(相容IE和Firefox)。 在IE下解決問題很簡單,用onMouseEnter、onMouseLeave來代替onMouseOver、onMouseOut就行了,他們的作用基本相同,但前者不會發生冒泡(如果用
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
這個時候,出現了encodeURIComponent、decodeURIComponent,它可以完全的對URL進行編碼解碼,但是遇到例如搜尋引擎用到的部分轉碼,又摸不到門了,沒問題,PHP官方出了一個解決方案: 複製代碼 代碼如下: decodeURIComponent((str + '').replace(/\+/g, '%20')); 他可以完美的對搜尋引擎的地址進行解碼,因為搜尋引擎只習慣對”空格“進行轉碼。忘了說還習慣對中文進行轉碼。。。
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
JavaScript面試題要求:以下題目必須從一至四題中,選出三道題,使用原生代碼實現,不可使 用任何架構,第五題為選作題。 一、 在頁面的固定地區內實現圖片的展示 1. 每點擊一次右箭頭,圖片地區向左滾動出一張圖片,反之相同; 2. 當發現圖片滾動到末尾時,響應的箭頭變成不可點擊狀態; 3. 滑鼠在圖片地區內滑動滾輪,圖片會隨著滑鼠滾輪的方向進行響應的滾動; 二、 用 js、html、css實現一個彈出提示控制項: 1. 分別實作類別似於系統的
Time of Update: 2017-01-19
1. 簡化代碼 JavaScript定義對象和數組非常簡單,我們想要建立一個對象,一般是這樣寫的: 複製代碼 代碼如下: <SPAN style="FONT-FAMILY: verdana, geneva">var car = new Object(); car.colour = 'red'; car.wheels = 4; car.hubcaps = 'spinning'; car.age = 4; </SPAN> 下面的寫法可以達到同樣的效果: 複製代碼 代碼如下:
Time of Update: 2017-01-19
第一個階段: 複製代碼 代碼如下: function A(){ this.funB = function(){ alert('A:funB'); }; } A.prototype = { funA:function(){ alert('A:funA'); } }; function B(){ } function extend(sub,parent){ sub.prototype = new parent(); sub.prototype.constructor = sub; } extend(
Time of Update: 2017-01-19
一、判斷 文法 prop in objectName 如果objectName指向的對象中含有prop這個屬性或者索引值,in運算子會返回true。 複製代碼 代碼如下: var arr = ['one','two','three','four']; arr.five = '5'; 0 in arr;//true 'one' in arr; //false,只可判斷數組的索引值 'five' in arr;//true,'five'是arr對象的屬性 'length' in
Time of Update: 2017-01-19
JS計算機代碼: javascript簡單計算機 [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行] 說明: JavaScript eval() 函數 定義和用法 eval() 函數可計算某個字串,並執行其中的的 JavaScript 代碼。 傳回值 通過計算 string 得到的值(如果有的話)。 說明 該方法只接受原始字串作為參數,如果 string
Time of Update: 2017-01-19
第一章:載入和執行 瀏覽器的JavaScript的引擎是編譯器層的最佳化; 當瀏覽器執行JavaScript代碼時,不能同時做其他任何事情(單一進程),意味著<script>標籤每次出現都霸道地讓頁面等帶指令碼的解析和執行(每個檔案必須等到前一個檔案下載並執行完成才會開始下載),所以頭部的JS和CSS用來渲染頁面,互動行為(幾乎所有)的JS放在<body>底部; 主流瀏覽器都允許並行下載JS。 減少外鏈指令碼數量將會改善效能(合并JS)
Time of Update: 2017-01-19
1. 大多數遊覽器的組件構成如圖 在最底層的三個組件分別是網路,UI後端和js解譯器。作用如下: (1)網路- 用來完成網路調用,例如http請求,它具有平台無關的介面,可以在不同平台上工作 (2)UI 後端- 用來繪製類似組合選擇框及對話方塊等基本組件,具有不特定於某個平台的通用介面,底層使用作業系統的使用者介面 (3)JS解譯器- 用來解釋執行JS代碼 ps:上圖和知識點主要來自《HOW BROWSERS WORK: BEHIND
Time of Update: 2017-01-19
每種語言都有它特別的地方,對於JavaScript來說,使用var就可以聲明任意類型的變數,這門指令碼語言看起來很簡單,然而想要寫出優雅的代碼卻是需要不斷積累經驗的。本文利列舉了JavaScript初學者應該注意的七個細節,與大家分享。 (1)簡化代碼 JavaScript定義對象和數組非常簡單,我們想要建立一個對象,一般是這樣寫的: 複製代碼 代碼如下: var car = new Object(); car.colour = 'red'; car.wheels = 4;
Time of Update: 2017-01-19
console.log(); 當你使用console.log()函數時,下面的firebug一定要開啟,不然這函數在用firefox運行時無效且影響正常程式,如果用IE開啟,將會出錯。 第一個參數可以是一個包含格式化預留位置輸出的字串,例如: console.log("The %s jumped over %d tall buildings", animal, count); 格式化字串 類型 %s 字串 %d, 整型 %i (暫不支援數字型) %f 浮點型 (暫不支援數字型) %o
Time of Update: 2017-01-19
先來看看現象: 複製代碼 代碼如下: <html> <head> <title>apply_and_call</title> </head> <body onload="init()"> <div id="testDiv" style="position: absolute; border: 1px solid gray; width:100px; height: 100px"></div> <
Time of Update: 2017-01-19
簡介 從本章開始,我將陸續(翻譯、轉載、整理)http://dmitrysoshnikov.com/網站關於ECMAScript標標準理解的好文。 本章我們要講解的是ECMAScript標準裡的執行內容和相關可執行代碼的各種類型。 原始作者:Dmitry A. Soshnikov 原始發布: 2009-06-26 俄文原文:http://dmitrysoshnikov.com/ecmascript/ru-chapter-1-execution-contexts/ 英文翻譯:Dmitry A.
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