javascript的幾個小技巧

原帖:http://topic.csdn.net/u/20100421/16/817ef7c6-6675-49e1-bf39-b4a96c08b41e.html1、字串轉換為數值常規方法Code:var a = parseFloat("12");  var b = parseInt("34");  可以用Code:var a = +("12");  var b = +("34");  差別:Code:parseInt("12px"); // 12  +("12px"); // NaN  2、**

基於JavaScript的公式解譯器 – 11 【函數的實現】

FunctionBase 函數基類檔案:FunctionBase.jsvar $FunctionMapper = [];// Global function mapperfunction $RegisterFunction(funcObj) { if ($FunctionMapper[funcObj.get_FunctionName().toLowerCase()] != null) throw new Exception(this, "$RegisterFunction:"

JavaScript調用ActiveX控制項

一.實現MFC ActiveX控制項1.在VS下建立一個MFC ActiveX項目,這裡命名為ActiveXDeme。如所示:2.建立成功後,在VS功能表列裡點“視圖"----"類別檢視”。3.選中_DActiveXDemo介面,右鍵選擇“添加”----“添加方法”,彈出添加方法嚮導,如所示:這裡添加一個SendMsg的方法,參數為BSTR

[JS代碼]用JavaScript實現網頁輪換廣告效果

(http://www.webjx.com/htmldata/2005-11-26/1132968209.html)示範效果:http://www.webjx.com/htmldata/2005-11-26/test.html<script LANGUAGE="javascript"><!--var cpAD=new Array(); var cpADlink=new Array(); var cpADmsg=new Array(); //定義了5個數組var adNum=5;

Javascript系列:實現繼承

        本文描述了Javascript的一種繼承機制實現方案。            關於Javascript的繼承實現,已經有包括著名的prototype在內的N多種方案了。雖然這些方案都粉不錯,但如果不好好深入學習一番,只能用其做個玩具。但是,龍生九種,種種不同,光是風格迥異的代碼就已經看得人頭大了,更惶論在有限的時間內細品其味了。小生天生懶散,且生平只愛讀古典作品(就是   

基於JavaScript的公式解譯器 – 14 【儲存格對象】

Cell儲存格對象檔案:Cell.js// JScript source codevar $MIN_ROW = 1, $MAX_ROW = 65535, $MIN_COL = 1, $MAX_COL = 256, $COL_STEP = 26;// -------------- Cell ---------------function Cell(addrStr, absoluteAddr) { this.set_ClassName("Cell"); this.

基於JavaScript的公式解譯器 – 15 【儲存格範圍對象】

CellRange儲存格範圍對象檔案:CellRange.jsfunction CellRange() { this.set_ClassName("CellRange"); this._startCell = new Cell(); this._endCell = new Cell(); switch(arguments.length) { case 0: break; case 1: {

基於JavaScript的公式解譯器 – 5 【一元操作符的實現】

OperatorUnaryBase 一元操作符基底類型檔案: OperatorUnaryBase.jsfunction OperatorUnaryBase() { this.DeriveFrom(new OperatorBase()); this.set_ClassName("OperatorUnaryBase"); this._type = new

基於JavaScript的公式解譯器 – 6 【二元操作符基類的實現】

OperatorBinaryBase 二元操作符基類檔案:OperatorBinaryBase.js// ----------- Binary Operator Base -------------function OperatorBinaryBase() { this.DeriveFrom(new OperatorBase()); this.set_ClassName("OperatorAdd"); this._type = new

基於JavaScript的公式解譯器 – 7 【算術操作符的實現】

算術操作符包括 +、-、*、/、% 算術操作符檔案:OperatorMathematic.jsfunction OperatorMathematic() { this.DeriveFrom(new OperatorBinaryBase()); this.set_ClassName("OperatorMathematic"); this.set_Sign("undefined");};function OperatorAdd() { this.DeriveFrom(new

基於JavaScript的公式解譯器 – 13 【公式估值器的實現】

公式解析器和估值器都沒有使用運算式樹狀架構,而是使用棧。FormulaEvaluator公式估值器類檔案:FormulaEvaluator.js// JScript source code// ----------- FormulaEvaluator -----------function FormulaEvaluator() { this.DeriveFrom(new Object()); this.set_ClassName("FormulaEvaluator");

基於JavaScript的公式解譯器 – 1 【設計】

公式解譯器比較簡單,原以為三天就得,結果還是用了一周,看來要重新評估一下自己的生產力了。 切入正題:原理:1. 將公式解析為逆波蘭標記法的序列;2. 對逆波蘭序列進行求值; 公式解譯器要涉及到以下問題:1. 類型表示;2. 類型關係和運算;3. 運算式解析;4. 運算式求值; 故此,我們需要:1. 類型系統:籍由JavaScript語言特性類比的類型系統; 2. 運算元基底類型;3. 由運算元基底類型派生的實值型別:數實值型別、布爾類型、文本類型;4. 運算子基底類型;5.

基於JavaScript的公式解譯器 – 2 【完善自己的類型系統】

這裡對萬物之始Object進行改造,以形成自己的類型系統,方便後面的類型實現、識別、處理等等。 格式約定先說明一下格式約定:1. 全域常量定義:以字元'$'開始,全部大寫的格式。var $MY_CONST = "ABCDEFG"; 2. 全域函數定義:以字元'$'開始,首字母大寫的格式。function $A(arg) { ...}; 3. 類的定義:使用單字首大寫的格式。 function MyClass {}; 4.

基於JavaScript的公式解譯器 – 8 【比較操作符的實現】

比較操作符基類檔案:OperatorCompareBase.jsfunction OperatorCompareBase() { this.DeriveFrom(new OperatorBinaryBase()); this.set_ClassName("OperatorCompareBase"); this.set_Sign("OperatorCompareBase"); this._getTwoNumberOperands = function(operands) {

基於JavaScript的公式解譯器 – 3 【運算元類型的實現】

OperandBase 運算元基底類型檔案:OperandBase.js// JScript source code// ----------- OperandBase ---------------function OperandBase(arg) { this.set_ClassName("OperandBase"); this._type = "undefined"; this._value = null; if (arguments.length > 0)

基於JavaScript的公式解譯器 – 9 【邏輯操作符的實現】

邏輯操作符的基底類型邏輯操作符包括一元和二元類型,因此有兩個基底類型檔案:OperatorLogicBase.jsfunction OperatorBinaryLogicBase() { this.DeriveFrom(new OperatorBinaryBase()); this.set_ClassName("OperatorBinaryLogicBase"); this.set_Sign("undefined");};function

基於JavaScript的公式解譯器 – 4 【操作符基底類型的實現】

操作符優先順序定義檔案:OperatorBase.js// JScript source codevar $OperatorPriority = { // Logic "||": 0, "&&": 0, // Compare ">": 1, ">=": 1, "<": 1, "<=": 1, // Logic compute "|": 2, "&": 2, "^": 2,

基於JavaScript的公式解譯器 – 10 【位操作符的實現】

位操作符的基底類型位操作符同樣有一元和二元類型檔案:OperatorBitwiseBase.jsfunction OperatorBinaryBitwiseBase() { this.DeriveFrom(new OperatorBinaryBase()); this.set_ClassName("OperatorBitwiseBase");};function OperatorUnaryBitwiseBase() { this.DeriveFrom(new

javascript 根據單選框的值,來決定頁面顯示的方法

<script>     var oRadios = document.getElementById('selectradio').getElementsByTagName('input');            for( var i = 0, len = oRadios.length; i < len; i++){                oRadios[i].onclick = function(){                    var value = t

分享10個JavaScript線上Debugging工具

調試JavaScript可能是Web開發中最讓人鬱悶的事情。所以這裡我們絕定來尋找一些好的工具來協助大家調試。這裡是10款我們精選的基於瀏覽器的JS線上調試工具,希望大家喜歡! Online Debugging Tools1. PastebinPastebin是一個協作式的調試工具,協助你在IRC,IM或者訊息版上對話來分享和修改程式碼片段 2. JSON Formatter and

總頁數: 3271 1 .... 410 411 412 413 414 .... 3271 Go to: 前往

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。