1.document load 和 document ready 的區(qū)別

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網綜合服務,包含不限于網站建設、做網站、龍文網絡推廣、小程序開發(fā)、龍文網絡營銷、龍文企業(yè)策劃、龍文品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供龍文建站搭建服務,24小時服務熱線:18980820575,官方網址:chinadenli.net
參考答案:文檔解析過程中,ready在加載圖片等外部資源前觸發(fā),load在之后觸發(fā)。如果頁面中要是沒有圖片之類的媒體文件的話ready與load是差不多的,但是頁面中有文件就不一樣了,所以還是推薦大家在工作中用ready
解析:
DOM文檔解析:
頁面加載完成有兩種事件
1.load是當頁面所有資源全部加載完成后(包括DOM文檔樹,css文件,js文件,圖片資源等),執(zhí)行一個函數(shù)
缺點:如果圖片資源較多,加載時間較長,onload后等待執(zhí)行的函數(shù)需要等待較長時間,所以一些效果可能受到影響
代碼形式:
2.$(document).ready()是當DOM文檔樹加載完成后執(zhí)行一個函數(shù) (不包含圖片,css等)所以會比load較快執(zhí)行
在原生的jS中不包括ready()這個方法,Jquery才有,jquery中有 $().ready(function)。
代碼形式為:
參與互動
2.JavaScript 中如何檢測一個變量是一個 String 類型?
參考答案:三種方法(typeof、constructor、Object.prototype.toString.call())
解析:
參與互動
3.請用 js 去除字符串空格?
參考答案:replace 正則匹配方法、str.trim()方法、JQ 方法:$.trim(str)方法
解析:
方法一:replace 正則匹配方法
去除字符串內所有的空格:str = str.replace(/s*/g, "");
去除字符串內兩頭的空格:str = str.replace(/^s*|s*$/g, "");
去除字符串內左側的空格:str = str.replace(/^s*/, "");
去除字符串內右側的空格:str = str.replace(/(s*$)/g, "");
示例:
方法二:str.trim()方法
trim()方法是用來刪除字符串兩端的空白字符并返回,trim 方法并不影響原來的字符串本身,它返回的是一個新的字符串。
缺陷:只能去除字符串兩端的空格,不能去除中間的空格
示例:
方法三:JQ 方法:$.trim(str)方法
$.trim() 函數(shù)用于去除字符串兩端的空白字符。
注意:$.trim()函數(shù)會移除字符串開始和末尾處的所有換行符,空格(包括連續(xù)的空格)和制表符。如果這些空白字符在字符串中間時,它們將被保留,不會被移除。
示例:
參與互動
4.js 是一門怎樣的語言,它有什么特點
參考答案:
1.腳本語言。JavaScript 是一種解釋型的腳本語言, C、C++等語言先編譯后執(zhí)行, 而 JavaScript 是在程序的運行過程中逐行進行解釋。
2.基于對象。JavaScript 是一種基于對象的腳本語言, 它不僅可以創(chuàng)建對象, 也能使用現(xiàn)有的對象。
3.簡單。JavaScript 語言中采用的是弱類型的變量類型, 對使用的數(shù)據(jù)類型未做出嚴格的要求, 是基于 Java 基本語句和控制的腳本語言, 其設計簡單緊湊。
4.動態(tài)性。JavaScript 是一種采用事件驅動的腳本語言, 它不需要經過 Web 服務器就可以對用戶的輸入做出響應。
5.跨平臺性。JavaScript 腳本語言不依賴于操作系統(tǒng), 僅需要瀏覽器的支持。
參與互動
5.== 和 === 的不同
參考答案: == 是抽象相等運算符,而 === 是嚴格相等運算符。 == 運算符是在進行必要的類型轉換后,再比較。 === 運算符不會進行類型轉換,所以如果兩個值不是相同的類型,會直接返回 false 。使用 == 時,可能發(fā)生一些特別的事情,例如:
如果你對 == 和 === 的概念不是特別了解,建議大多數(shù)情況下使用 ===
參與互動
6.怎樣添加、移除、移動、復制、創(chuàng)建和查找節(jié)點?
參考答案:
1)創(chuàng)建新節(jié)點
2)添加、移除、替換、插入
3)查找
參與互動
7.事件委托是什么
參考答案:利用事件冒泡的原理,讓自己的所觸發(fā)的事件,讓他的父元素代替執(zhí)行!
解析:
1、那什么樣的事件可以用事件委托,什么樣的事件不可以用呢?
2、為什么要用事件委托
3、事件冒泡與事件委托的對比
4、事件委托怎么取索引?
拓展:
參考
參與互動
8.require 與 import 的區(qū)別
參考答案:兩者的加載方式不同、規(guī)范不同
第一、兩者的加載方式不同,require 是在運行時加載,而 import 是在編譯時加載
require('./a')(); // a 模塊是一個函數(shù),立即執(zhí)行 a 模塊函數(shù)
var data = require('./a').data; // a 模塊導出的是一個對象
var a = require('./a')[0]; // a 模塊導出的是一個數(shù)組 ====== 哪都行
import $ from 'jquery';
import * as _ from '_';
import {a, b, c} from './a';
import {default as alias, a as a_a, b, c} from './a'; ======用在開頭
第二、規(guī)范不同,require 是 CommonJS/AMD 規(guī)范,import 是 ESMAScript6+規(guī)范
第三、require 特點:社區(qū)方案,提供了服務器/瀏覽器的模塊加載方案。非語言層面的標準。只能在運行時確定模塊的依賴關系及輸入/輸出的變量,無法進行靜態(tài)優(yōu)化。
import 特點:語言規(guī)格層面支持模塊功能。支持編譯時靜態(tài)分析,便于 JS 引入宏和類型檢驗。動態(tài)綁定。
參與互動
9.javascript 對象的幾種創(chuàng)建方式
參考答案:
第一種:Object 構造函數(shù)創(chuàng)建
這行代碼創(chuàng)建了 Object 引用類型的一個新實例,然后把實例保存在變量 Person 中。
第二種:使用對象字面量表示法
對象字面量是對象定義的一種簡寫形式,目的在于簡化創(chuàng)建包含大量屬性的對象的過程。也就是說,第一種和第二種方式創(chuàng)建對象的方法其實都是一樣的,只是寫法上的區(qū)別不同
在介紹第三種的創(chuàng)建方法之前,我們應該要明白為什么還要用別的方法來創(chuàng)建對象,也就是第一種,第二種方法的缺點所在:它們都是用了同一個接口創(chuàng)建很多對象,會產生大量的重復代碼,就是如果你有 100 個對象,那你要輸入 100 次很多相同的代碼。那我們有什么方法來避免過多的重復代碼呢,就是把創(chuàng)建對象的過程封裝在函數(shù)體內,通過函數(shù)的調用直接生成對象。
第三種:使用工廠模式創(chuàng)建對象
在使用工廠模式創(chuàng)建對象的時候,我們都可以注意到,在 createPerson 函數(shù)中,返回的是一個對象。那么我們就無法判斷返回的對象究竟是一個什么樣的類型。于是就出現(xiàn)了第四種創(chuàng)建對象的模式。
第四種: 使用構造函數(shù)創(chuàng)建對象
對比工廠模式,我們可以發(fā)現(xiàn)以下區(qū)別:
1.沒有顯示地創(chuàng)建對象
2.直接將屬性和方法賦給了 this 對象
3.沒有 return 語句
4.終于可以識別的對象的類型。對于檢測對象類型,我們應該使用 instanceof 操作符,我們來進行自主檢測:
同時我們也應該明白,按照慣例,構造函數(shù)始終要應該以一個大寫字母開頭,而非構造函數(shù)則應該以一個小寫字母開頭。
那么構造函數(shù)確實挺好用的,但是它也有它的缺點:
就是每個方法都要在每個實例上重新創(chuàng)建一遍,方法指的就是我們在對象里面定義的函數(shù)。如果方法的數(shù)量很多,就會占用很多不必要的內存。于是出現(xiàn)了第五種創(chuàng)建對象的方法
第五種:原型創(chuàng)建對象模式
使用原型創(chuàng)建對象的方式,可以讓所有對象實例共享它所包含的屬性和方法。
如果是使用原型創(chuàng)建對象模式,請看下面代碼:
當為對象實例添加一個屬性時,這個屬性就會屏蔽原型對象中保存的同名屬性。
這時候我們就可以使用構造函數(shù)模式與原型模式結合的方式,構造函數(shù)模式用于定義實例屬性,而原型模式用于定義方法和共享的屬性
第六種:組合使用構造函數(shù)模式和原型模式
解析: 參考
參與互動
10.JavaScript 繼承的方式和優(yōu)缺點
參考答案:六種方式
131.用原生 JavaScript 的實現(xiàn)過什么功能嗎?
參考答案:輪播圖、手風琴、放大鏡、3D動畫效果等,切記,所答的一定要知道實現(xiàn)原理!,不知道還不如不說!
參與互動
132.javascript 代碼中的"use strict"; 是什么意思 ? 使用它區(qū)別是什么?
參考答案:意思是使用嚴格模式,使用嚴格模式,一些不規(guī)范的語法將不再支持
參與互動
133.簡述創(chuàng)建函數(shù)的幾種方式
參考答案:
參與互動
134.window.location.search() 返回的是什么?
參考答案:查詢(參數(shù))部分。除了給動態(tài)語言賦值以外,我們同樣可以給靜態(tài)頁面, 并使用 javascript 來獲得相信應的參數(shù)值 返回值:?ver=1.0id=timlq 也就是問號后面的!
參與互動
135.window.location.hash 返回的是什么?
參考答案:錨點 , 返回值:#love ;
參與互動
136.window.location.reload() 作用?
參考答案:刷新當前頁面
參與互動
137.為什么不能定義 1px 左右的 p 容器?
參考答案: IE6 下這個問題是因為默認的行高造成的,解決的方法也有很多,例如: overflow:hidden | zoom:0.08 | line-height:1px
參與互動
138.BOM 對象有哪些,列舉 window 對象?
參考答案:
參與互動
139.簡述 readonly 與 disabled 的區(qū)別
參考答案:
參與互動
140.為什么擴展 javascript 內置對象不是好的做法?
參考答案:
參與互動
141.什么是三元表達式?“三元”表示什么意思?
參考答案:三元如名字表示的三元運算符需要三個操作數(shù)。
語法是 條件 ? 結果1 : 結果2; .這里你把條件寫在問號(?)的前面后面跟著用冒號(:)分隔的結果1和結果2。滿足條件時結果1否則結果2。
參與互動
142.我們給一個 dom 同時綁定兩個點擊事件,一個用捕獲,一個用冒泡,你來說下會執(zhí)行幾次事件,然后會先執(zhí)行冒泡還是捕獲
參考答案:所有事件的順序是:其他元素捕獲階段事件 - 本元素代碼順序事件 - 其他元素冒泡階段事件 。
參考
參與互動
144.簡述一下 Handlebars 的基本用法?
參考答案:沒有用過的話說出它是干什么的即可
參與互動
143.簡述一下 Handlerbars 的對模板的基本處理流程, 如何編譯的?如何緩存的?
參考答案:
參與互動
145.前端 templating(Mustache, underscore, handlebars)是干嘛的, 怎么用?
參考答案:
參與互動
146.知道什么是 webkit 么? 知道怎么用瀏覽器的各種工具來調試和 debug 代碼么?
參考答案:Webkit 是瀏覽器引擎,包括 html 渲染和 js 解析功能,手機瀏覽器的主流內核,與之相對應的引擎有 Gecko(Mozilla Firefox 等使用)和 Trident(也稱 MSHTML,IE 使用)。 對于瀏覽器的調試工具要熟練使用,主要是頁面結構分析,后臺請求信息查看,js 調試工具使用,熟練使用這些工具可以快速提高解決問題的效率
參與互動
147.如何測試前端代碼? 知道 BDD, TDD, Unit Test 么? 知道怎么測試你的前端工程么(mocha, sinon, jasmin, qUnit..)?
參考答案:了解 BDD 行為驅動開發(fā)與 TDD 測試驅動開發(fā)已經單元測試相關概念
參與互動
148.JavaScript 的循環(huán)語句有哪些?
參考答案:while for do while forEach
參與互動
149.作用域-編譯期執(zhí)行期以及全局局部作用域問題
參考答案:js 執(zhí)行主要的兩個階段:預解析和執(zhí)行期
參與互動
150.如何添加 html 元素的事件,有幾種方法?請列舉
參考答案:直接在標簽里添加;在元素上添加、使用事件注冊函數(shù)添加
參與互動
151.列舉瀏覽器對象模型 BOM 里常用的至少 4 個對象,并列舉 window 對象的常用方法至少 5 個
參考答案:
對象:Window document location screen history navigator
方法:Alert() confirm() prompt() open() close()
參與互動
152.事件綁定的方式
參考答案:
參與互動
153.事件循環(huán)
參考答案:事件循環(huán)是一個單線程循環(huán),用于監(jiān)視調用堆棧并檢查是否有工作即將在任務隊列中完成。如果調用堆棧為空并且任務隊列中有回調函數(shù),則將回調函數(shù)出隊并推送到調用堆棧中執(zhí)行。
參與互動
154.事件模型
參考答案:
解析:參考
參與互動
155.如何自定義事件
參考答案:
1.原生提供了 3 個方法實現(xiàn)自定義事件 2.createEvent,設置事件類型,是 html 事件還是 鼠標事件 3.initEvent 初始化事件,事件名稱,是否允許冒泡,是否阻止自定義事件 4.dispatchEvent 觸發(fā)事件
MDN
參與互動
156.target 和 currentTarget 區(qū)別
參考答案:
參與互動
157.prototype 和__proto__的關系是什么
參考答案:
所有的對象都擁有__proto__屬性,它指向對象構造函數(shù)的 prototype 屬性
所有的函數(shù)都同時擁有__proto__和 protytpe 屬性 函數(shù)的__proto__指向自己的函數(shù)實現(xiàn) 函數(shù)的 protytpe 是一個對象 所以函數(shù)的 prototype 也有__proto__屬性 指向 Object.prototype
Object.prototype.__proto__指向 null
參與互動
158.什么是原型屬性?
參考答案:從構造函數(shù)的prototype屬性出發(fā)找到原型,這時候就把原型稱之為構造函數(shù)的原型屬性
參與互動
159.什么是原型對象?
參考答案:從實例的__proto__出發(fā),找到原型,這時候就把原型稱之為實例的原型對象。
參與互動
160.使用 let、var 和 const 創(chuàng)建變量有什么區(qū)別
參考答案:
let 和 const 的區(qū)別在于:let 允許多次賦值,而 const 只允許一次。
71.IE 和標準下有哪些兼容性的寫法
參考答案:
參與互動
72.變量提升
參考答案:
A、js 代碼執(zhí)行的過程
B、變量提升發(fā)生的環(huán)境:發(fā)生在代碼所處的當前作用域。
解析:
對應面試題
參與互動
73.如何阻止冒泡與默認行為
參考答案:
解析:
當需要阻止冒泡行為時,可以使用
當需要阻止默認行為時,可以使用
參與互動
74.js 中 this 閉包 作用域
參考答案:
this:指向調用上下文
閉包:定義一個函數(shù)就開辟了一個局部作用域,整個 js 執(zhí)行環(huán)境有一個全局作用域
作用域:一個函數(shù)可以訪問其他函數(shù)中的變量(閉包是一個受保護的變量空間)
參與互動
75.javascript 的本地對象,內置對象和宿主對象
參考答案:
1.本地對象
ECMA-262 把本地對象(native object)定義為“獨立于宿主環(huán)境的 ECMAScript 實現(xiàn)提供的對象"。簡單來說,本地對象就是 ECMA-262 定義的類(引用類型)。它們包括:Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError
2.內置對象
JS中內置了17個對象,常用的是Array對象、Date對象、正則表達式對象、string對象、Global對象
3.宿主對象
由ECMAScript實現(xiàn)的宿主環(huán)境提供的對象,可以理解為:瀏覽器提供的對象。所有的BOM和DOM都是宿主對象。
參與互動
76.javascript 的同源策略
參考答案:一段腳本只能讀取來自于同一來源的窗口和文檔的屬性
解析:
同源策略:限制從一個源加載的文檔或腳本如何與來自另一個源的資源進行交互。這是一個用于隔離潛在惡意文件的關鍵的安全機制。(來自 MDN 官方的解釋)
簡單來說就是:一段腳本只能讀取來自于同一來源的窗口和文檔的屬性,這里的同一來源指的是主機名、協(xié)議和端口號的組合 具體解釋:
(1)源包括三個部分:協(xié)議、域名、端口(http 協(xié)議的默認端口是 80)。如果有任何一個部分不同,則源不同,那就是跨域了。
(2)限制:這個源的文檔沒有權利去操作另一個源的文檔。這個限制體現(xiàn)在:(要記住)
Cookie、LocalStorage 和 IndexDB 無法獲取。
無法獲取和操作 DOM。
不能發(fā)送 Ajax 請求。我們要注意,Ajax 只適合同源的通信。
同源策略帶來的麻煩:ajax 在不同域名下的請求無法實現(xiàn),需要進行跨域操作
參與互動
77.事件冒泡與事件捕獲
參考答案:
事件冒泡:由最具體的元素(目標元素)向外傳播到最不具體的元素
事件捕獲:由最不確定的元素到目標元素
參與互動
78.foo = foo||bar ,這行代碼是什么意思?為什么要這樣寫?
參考答案:
這種寫法稱為短路表達式
解析:
相當于
常用于函數(shù)參數(shù)的空判斷
參與互動
79.復雜數(shù)據(jù)類型如何轉變?yōu)樽址?/p>
參考答案:
參與互動
80.javascript 中 this 的指向問題
參考答案:
解析:
全局環(huán)境下,this 始終指向全局對象(window),無論是否嚴格模式;
2.1 普通函數(shù)
普通函數(shù)內部的 this 分兩種情況,嚴格模式和非嚴格模式。
(1)非嚴格模式下,沒有被上一級的對象所調用, this 默認指向全局對象 window。
(2)嚴格模式下,this 指向 undefined。
2.2 函數(shù)作為對象的方法
(1)函數(shù)有被上一級的對象所調用,那么 this 指向的就是上一級的對象。
(2)多層嵌套的對象,內部方法的 this 指向離被調用函數(shù)最近的對象(window 也是對象,其內部對象調用方法的 this 指向內部對象, 而非 window)。
特殊例子
2.3 原型鏈中的 this
(1)如果該方法存在于一個對象的原型鏈上,那么 this 指向的是調用這個方法的對象,就像該方法在對象上一樣。
上述例子中,對象 p 沒有屬于它自己的 f 屬性,它的 f 屬性繼承自它的原型。當執(zhí)行 p.f()時,會查找 p 的原型鏈,找到 f 函數(shù)并執(zhí)行。因為 f 是作為 p 的方法調用的,所以函數(shù)中的 this 指向 p。
(2)相同的概念也適用于當函數(shù)在一個 getter 或者 setter 中被調用。用作 getter 或 setter 的函數(shù)都會把 this 綁定到設置或獲取屬性的對象。
(3)call()和 apply()方法:當函數(shù)通過 Function 對象的原型中繼承的方法 call() 和 apply() 方法調用時, 其函數(shù)內部的 this 值可綁定到 call() apply() 方法指定的第一個對象上, 如果第一個參數(shù)不是對象,JavaScript 內部會嘗試將其轉換成對象然后指向它。
(4)bind()方法:由 ES5 引入, 在 Function 的原型鏈上, Function.prototype.bind。通過 bind 方法綁定后, 函數(shù)將被永遠綁定在其第一個參數(shù)對象上, 而無論其在什么情況下被調用。
2.4 構造函數(shù)中的 this
當一個函數(shù)用作構造函數(shù)時(使用 new 關鍵字),它的 this 被綁定到正在構造的新對象。
構造器返回的默認值是 this 所指的那個對象,也可以手動返回其他的對象。
特殊例子
當 this 碰到 return 時
2.5 setTimeout setInterval
(1)對于延時函數(shù)內部的回調函數(shù)的 this 指向全局對象 window;
(2)可以通過 bind()方法改變內部函數(shù) this 指向。
3.1 作為一個 DOM 事件處理函數(shù)
當函數(shù)被用作事件處理函數(shù)時,它的 this 指向觸發(fā)事件的元素(針對 addEventListener 事件)。
3.2 作為一個內聯(lián)事件處理函數(shù)
(1)當代碼被內聯(lián)處理函數(shù)調用時,它的 this 指向監(jiān)聽器所在的 DOM 元素;
(2)當代碼被包括在函數(shù)內部執(zhí)行時,其 this 指向等同于 普通函數(shù)直接調用的情況,即在非嚴格模式指向全局對象 window,在嚴格模式指向 undefined:
4.1 全局環(huán)境中
在全局代碼中,箭頭函數(shù)被設置為全局對象:
4.2 this 捕獲上下文
箭頭函數(shù)沒有自己的 this,而是使用箭頭函數(shù)所在的作用域的 this,即指向箭頭函數(shù)定義時(而不是運行時)所在的作用域。
4.2 this 捕獲上下文
箭頭函數(shù)沒有自己的 this,而是使用箭頭函數(shù)所在的作用域的 this,即指向箭頭函數(shù)定義時(而不是運行時)所在的作用域。
在 setTimeout 中的 this 指向了構造函數(shù)新生成的對象,而普通函數(shù)指向了全局 window 對象。
4.3 箭頭函數(shù)作為對象的方法使用
箭頭函數(shù)作為對象的方法使用,指向全局 window 對象;而普通函數(shù)作為對象的方法使用,則指向調用的對象。
4.4 箭頭函數(shù)中,call()、apply()、bind()方法無效
4.5 this 指向固定化
箭頭函數(shù)可以讓 this 指向固定化,這種特性很有利于封裝回調函數(shù)
上面代碼的 init 方法中,使用了箭頭函數(shù),這導致這個箭頭函數(shù)里面的 this,總是指向 handler 對象。如果不使用箭頭函數(shù)則指向全局 document 對象。
4.6 箭頭函是不適用場景
(1)箭頭函數(shù)不適合定義對象的方法(方法內有 this),因為此時指向 window;
(2)需要動態(tài) this 的時候,也不應使用箭頭函數(shù)。
參與互動
1、分別寫出HTML、CSS、JavaScript的所有注釋形式。(10分)
html
!-- --
css
/** */
javascript
/** */
//
2、在JavaScript程序中,獲得一個元素并將其隱藏,有哪兩種設置其style屬性的方法?(4分)
display visibility
二者有何區(qū)別。(11分)
display 隱藏后控件相應的塊占位也消失 visibility 則不
3、用JavaScript內置對象Math寫出產生[x,y]上一個隨機整數(shù)的語句。(10分)
[Math.round(Math.random()*100),Math.round(Math.random()*100)]
二、程序分析題(每空5分(不超過一句),共65分)
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
title動態(tài)顯示年月日星期時分秒/title
script type="text/javascript"
var days=new Array ? ("日","一","二","三","四","五","六");
function showDT(){
var currentDT ? =new Date();
var y,m,date,day,hs,ms,ss,theDateStr;
y=currentDT.getFullYear() ? ;//四位整數(shù)表示的年份
m=currentDT.getMonth();//月
date=currentDT.getDate() ④? ;//日
day=currentDT.getDay();//星期
hs=currentDT.getHours();//時
ms ⑤ =currentDT.getMinutes();//分
ss=currentDT.getSeconds();//秒
theDateStr ⑥ =y+"年"+ ⑦ m +"月"+date+"日 星期"+days[day]+" "+hs+":"+ms+":"+ss;
⑧ document.getElementById ("theClock"). innerHTML ⑨ =theDateStr;
window.setTimeout( showDT ⑩ ,1000);
}
⑾ /script
/head
body onLoad="showDT()"
div ⑿ id ="theClock" style ⒀ ="font-weight:bold;width:300px;"/div
/body
/html
一 :
1. A (b c聲明的分別是對象和數(shù)組,不會報錯,d也會報錯,但是是編譯錯誤,不是運行期錯誤)
---------------------------------------------------
2.B
---------------------------------------------------
3.C(a明顯錯了,null和undefined都是頂級對象,沒有constructor,b不說了,三個等號匹配類型,他們沒有類型,不會相等,d是比較特殊的,NaN是個數(shù)字引用,它不等于任何值)
二:
4.AB(JavaScript算是Jscript的子集,Google一下Jscript就清楚了,第二個根本就是胡扯,C飄過了,Ajax的全稱是Asynchronous JavaScript and XML,當然必須用JavaScript)
---------------------------------------------------
5.ACE(這是個考JSON寫法的題,屬于基礎知識,不解釋了)
---------------------------------------------------
6.AB(自己把它們寫出來就知道了)
---------------------------------------------------
7.ABCDE
---------------------------------------------------
8.ABCDE(iframe是個框架,通過腳本可以實現(xiàn)內部外部的互相通信,當然也可以互相改變大小)
---------------------------------------------------
9.ABCDE(CAPTION必須緊跟在table標簽之后,其他的不解釋了)
---------------------------------------------------
10.D(window.opener指向上一級的window對象,reload方法是不存在的,window.location="a.html"本身就是個錯誤語句)
三:
1.sort方法用于對數(shù)組進行排序,它的參數(shù)是個閉包函數(shù),用來確定排序規(guī)則,默認是按照大小從小到大排列,但是如果有參數(shù),就會按照參數(shù)的返回值的正負來判斷,比如要對一個數(shù)字數(shù)組進行倒序排序就需要一個閉包函數(shù)
var a = function(x,y){return y-x;};
然后把這個閉包作為參數(shù)傳進去:
[3,2,1,5,8].sort(a); //=[8,5,3,2,1]
實現(xiàn)機制就是對數(shù)組進行兩兩比較,如果閉包的返回值是負值,順序就互相調換,正值或者零就不變,相當于一個簡寫的冒泡排序法
---------------------------------------------------
2.
DIV是block元素,默認自己占一行具備width,height等block才有的css樣式,SPAN是inline元素,內嵌在DHTML結構中,默認不換行
DIV中可以包含SPAN,但是SPAN中包含DIV是不符合W3C標準的。
---------------------------------------------------
3.
innerHTML屬性 是標示一個包含標簽內部全部html代碼的字符串
outerHTML屬性 是標示一個不但包含標簽內部而且包含標簽本身全部html代碼的字符串
innerText屬性 是標示一個包含標簽內所有文本的字符串,不包含html標簽的任何內容
---------------------------------------------------
4.
1.標簽必須閉合
2.所有元素屬性與屬性名稱必須為小寫字母
3.所有屬性值必須加上引號
---------------------------------------------------
5
日媽這個問題真讓人惱火,問的也太大了,web標準也太多了,列常用的吧:
1.XHTML應該加上doctype
2.標簽必須閉合而且規(guī)范排布
3.所有屬性值加上引號
4.特殊元素加上必要的屬性,比如img應該帶著alt,script應該帶著type而不是平時經常看到的language
5.屬性和屬性值全部改成小寫,不能出現(xiàn)STYLE="WIDTH:100%"
6.把css和JavaScript改成外部引用
7.不要亂套標簽,比如在span或者li里面套div
8.布局不要用table,會造成大量的垃圾代碼
9.表單元素帶上label
10.把出這個題的人斃了!
本文標題:javascript試卷的簡單介紹
本文來源:http://chinadenli.net/article3/dsedois.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站營銷、靜態(tài)網站、網站內鏈、ChatGPT、App設計、面包屑導航
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)