從一個基礎Javascript面試題談起

記得第一次面試前端工程師的時候,面試官出了一個機試題,要求每個p單擊時彈出不同的值,我是這麼寫的,執行的時候發現每次都是alert(5),當時堅持認為My Code沒有任何問題,心想這麼簡單的功能我怎麼會弄錯。時至今日,想起這件事,便寫篇博文總結之。<!DOCTYPE HTML><html><head><meta charset="utf-8" /><title>面試試題</title><script

javascript 基礎篇1 什麼是js 建立第一個js程式

javascript是很多東西的基礎,比如jsp,ajax等,如果不會這麼,那麼學起這些來就比較麻煩,所以要先學好這個,為將來的學習打好經濟基礎/(`v`)/。javascript是一個基於對象和事件驅動,並且具有安全性的指令碼語言,應用很廣泛,不僅僅是網頁,不要被jsp給困住。基於對象,就是不需要指定變數的類型,你給他一個3,它知道是整型,如果給賦值'3',它就知道是char。事件驅動,就是單擊啊,之類的事件進行驅動。javascript優點:網頁互動性強,簡單易用。js主要是基於用戶端運行,

轉載—–JavaScript如何對後台utf8編碼的字串解碼

原文  為了防止xss以及csrf+xss的漏洞,後台統一對字串進行了轉碼。結果如下:原文: JavaScript進階程式設計編碼: JavaScript&#39640;&#32423;&#31243;&#24207;&#35774;&#35745;  前端寫了一段如下代碼:function u2str(text){// transform text in utf8 format to string        return

轉載—–javascript深度複製對象

js一般有兩種不同資料類型的值:  基本類型(包括undefined,Null,boolean,String,Number),按值傳遞;  參考型別(包括數組,對象),按址傳遞,參考型別在值傳遞的時候是記憶體中的地址。複製或者拷貝分為2種:  淺度複製:基本類型為值傳遞,對象仍為引用傳遞。  深度複製:所有元素或屬性均完全複製,並於原參考型別完全獨立,即,在後面修改對象的屬性的時候,原對象不會被修改。1 function cloneObject(obj){   if (obj ===

javascript一些小技巧

字串轉換為數值常規方法:var var1 = parseInt("2");var var2 = parseFloat("2");var var3 = Number("2");var var3 = new Number("2");簡便方法:var var1 = +("2");另一簡便方法:var str = "1.0";var num = str -

Javascript相容多種瀏覽器

Javascript 多瀏覽器安全色一、document.formName.item(”itemName”) 問題 問題說明:IE下,可以使用 document.formName.item(”itemName”) 或

提高 web 應用效能之 JavaScript 效能調優 

 隨著網路的發展,網速和機器速度的提高,越來越多的網站用到了豐富用戶端技術。而現在Ajax則是最為流行的一種方式。JavaScript是一種解釋型語言,所以能無法達到和C/Java之類的水平,限制了它能在用戶端所做的事情,為了能改進他的效能,我想基於我以前給JavaScript做過的很多測試來談談自己的經驗,希望能協助大家改進自己的JavaScript指令碼效能。語言層次方面    迴圈    迴圈是很常用的一個控制結構,大部分東西要依靠它來完成,在JavaScript中,我們可以使用for(;

Javascript常用對象詳細講解

轉:http://hi.baidu.com/11345/item/82f341172da3264ae75e06b0document.body.scrollTop   返回和設定當前豎向捲軸的座標值,須與函數配合,document.body.scrollLeft   返回和設定當前橫向滾動務的座標值,須與函數配合,window.status=defaultStatus   將狀態列設定預設顯示Obejct.innerHTML  

從JS庫的使用者轉變成JS的開發人員——第一篇 javascript對象

此文是《Javascript Elightment》的讀書筆記,希望和有意向從jS庫的使用者轉變成js的開發人員的童鞋們一起分享。第一篇  javascript 對象建立對象Js中,所有事物都是對象或者可以表現得像對象。記住:對象事實上就是一個屬性(名字和對應的值)的容器。方法其實也是對象的一個屬性,它包含了用來操作對象的function()對象。如果沒有方法,對象除了儲存靜態屬性外什麼也做不了。建立一個對象:var myObject = new Object();上面代碼解析:

Javascript記憶體回收機制

      Javascript具有自動垃圾收集機制(GC:Garbage Collection)。這種垃圾收集機制的原理很簡單:找出那些不再繼續使用的變數,然後釋放其佔用的記憶體。垃圾收集器會按照固定的時間間隔,周期性的執行這一操作。     

Javascript中in操作符

在Javascript有兩種方式使用in操作符:單獨使用和在for-in迴圈中使用。在單獨使用時,in操作符會在通過對象能夠訪問給定屬性時返回true,無論該屬性存在於執行個體中還是原型中。執行個體一:檢查屬性是在原型中還是在對象中function Person(){}Person.prototype.name="Nicholas";var person1=new Person();console.log(person1.hasOwnProperty("name"));

Javascript物件導向編程(一):對象的產生

      Javascript是一種基於對象(Object-Based)的程式設計語言,常說在javascript中一切都是對象,那麼對象究竟是怎麼產生的呢?      (一)原始模式       首先說一下我們常見的對象——Object執行個體。建立Object執行個體方式有很多,第一種是使用new操作符後跟Object建構函式:var person=new Object();person.name="張三";person.age=21;  另一種方式是對象字面量標記法:var

轉載—–javascript中有趣的反柯裡化

寫在前面的話:國內對前端的研究在某些方面也不遜色於國外,這篇文章雖然看不太懂,但我很欣賞這種深入研究的精神!-------------------------------------轉載原文-----------------------------------反科裡化的話題來自javascript之父Brendan Eich去年的一段twitter.

javascript中的Function和Object,原型與原型鏈

  為了更好的理解本文,請預先學習原型、原型鏈的基礎知識。  那麼先看看下面幾道坑爹的判斷題吧1 Object.__proto__ == Object.prototype2 Function.__proto__ == Function.prototype3 Object instanceof Function4 Function instanceof Object  可能很多人第一眼就懵了(包括筆者),感覺有點像應試教育的判斷題,別著急,慢慢來,首先讓我們看看一句再普通不過的代碼,var a =

一道前端面試題—-在javascript調試中,你是如何監測一個變數的變化的呢?

  這是今年百度公司暑期實習生招聘web前端開發工程師面試的面試官問本人的一道面試題。  問題:javascript如何監控變數呢?  答:__defineGetter__  和 __defineSetter__這兩個方法每次get和set的時候都會執行。不過並不是所有瀏覽器都支援。在Firefox下,我們可以通過object.watch(prop, handler)來實現。而在IE下,可以通過Object.defineProperty來實現。具體代碼如下: 1 /* 2 *

Javascript中對空string調用split返回不是空數組

今天在工作中發現一個詭異的問題,理論上應該是沒有元素的數組,長度居然是1。查了半天,原來是Javascript中的split和其他語言中不同,即對空string使用split會返回含有一個空string的數組,而不是一個空數組。var str = "", arr = str.split("_"); console.log(arr.length === 1); //trueconsole.log(arr === []); //falseconsole.log(arr === [""]); /

收集到的一些怪異的javascript題目

 如果你覺得JavaScript沒什麼了不起的話,如果你認為你的JavaScript已經很厲害了,如果你想深入學習ECMAScript,請看下面的題目:  [] == ![]   parseInt(1/0,19)==18  ++[[]][+[]]+[+[]] == 10  0 == +[]1 == ++[[]][+[]]2 == ++[++[[]][+[]]][+[]]3 == ++[++[++[[]][+[]]][+[]]][+[]]undefined == [][[]]Infinity ==

Javascript中位操作符的特殊作用

Javascript主要有以下幾種位操作符:AND ( & ) OR ( | ) XOR ( ^ ) NOT ( ~ ) LEFT SHIFT ( << ) RIGHT SHIFT ( >> ) ZERO-FILL RIGHT SHIFT ( >>> )一般來說,我們在Javascript中很少能用到這些位操作符,但在某些特殊情況下,這些簡單的操作符卻能抵得上好幾行代碼(如果不在乎可讀性的話)。-(n+1)對一個數進行~運算,等同於-

轉載—–javascript quiz

問題很容易看懂,所以就沒有翻譯.------------------------原文--------------------------------## Intro Questions  01. When might comparative type coercion occur? How would you avoid it? How would you change a "falsy" or "truthy" value into a real boolean?  02. Describe

Javascript Throttle & Debounce

Throttle無視一定時間內所有的調用,適合在發生頻度比較高的,處理比較重的時候使用。var throttle = function (func, threshold, alt) { var last = Date.now(); threshold = threshold || 100; return function () { var now = Date.now(); if (now - last < threshold) {

總頁數: 3271 1 .... 384 385 386 387 388 .... 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 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。