從一個基礎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具有自動垃圾收集機制(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物件導向與原型

1 //一.原廠模式 2 function createBox(user,age){ 3 var obj=new Object(); 4 obj.user=user; 5 obj.age=age; 6 obj.run=function(){ 7 return this.user+this.age+"原型在哪裡!"; 8 }; 9 return obj;10 }11 var

[翻譯]JavaScript Scoping and Hoisting

原文連結:http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting你知道下面的JavaScript代碼執行後會alert出什麼值嗎?  1: var foo = 1; 2: function bar() { 3: if (!foo) { 4: var foo = 10; 5: } 6: alert(foo); 7: } 8: bar(

轉載—–JavaScript 的 MVC 模式

原文:Model-View-Controller (MVC) with JavaScript作者:Alex@Net譯文:JavaScript 的 MVC 模式譯者:justjavac本文介紹了模型-視圖-控制器模式在 JavaScript 中的實現。我喜歡 JavaScript,因為它是在世界上最靈活的語言之一。 在 JavaScript 中,程式員可以根據自己的口味選擇編程風格:面向過程或物件導向。 如果你是一個重口味,JavaScript 一樣可以應付自如: 面向過程,物件導向,面向方面,

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) {

轉載—–Javascript非同步編程的4種方法

你可能知道,Javascript語言的執行環境是"單線程"(single

總頁數: 3271 1 .... 505 506 507 508 509 .... 3271 Go to: 前往

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.