slice() 方法从已有的数组中返回选定的元素,其接收1或2个参数,返回一个新的数组,包含数组下标从 start 到 end(不包括该元素)的 arrayObject 中的元素。(如果没有指定end参数,那么切分的数组包含从 start 到数组结束的所有元素。)
如:
var aCloros = [“red”,”green”,”blue”,”yellow”,”purple”];
var aCloros2 = aCloros.slice(1);
var aCloros3 = aCloros.slice(1,4);
alert(aCloros2);//output “green,blue,yellow,purple”
alert(aCloros3);//output “green,blue,yellow”
arrayObject.splice(index,howmany,item1,…..,itemX)
splice() 方法可从数组中添加或删除项目,然后返回被删除的项目。
splice() 方法可删除从 index 处开始的零个或多个元素,howmany表示删除数量,后面的参数表示向数组中添加的新项目。
var arr = new Array(6)
arr[0] = “red”
arr[1] = “green”
arr[2] = “blue”
arr[3] = “yellow”
arr[4] = “purple”
arr.splice(2,0,”white”) //output red,green,white,blue,yellow,purple
arr.splice(2,1,”white”) //output red,green,white,yellow,purple
7.正则中test 与 match 的区别?RegExpObject.test(str)
test()方法用于检测一个字符串是否匹配某个模式.如果字符串str中含有与RegExpObject 匹配的文本,则返回 true,否则返回 false。
//匹配正整数
var patten = /^[1-9]\d*$/;
patten.test(“1498924”) //true
patten.test(“-1498924”) //false
stringObject.match(regexp)
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。返回指定的值。
var str=”1 + 2 * 3 / 4″
str.match(/\d+/g) //[“1”, “2”, “3”, “4”]
8.如何在js中创建一个对象并继承他?function Person(name) {
this.name = name;
}
Person.prototype = {
constructor: Person, //强制声明构造函数,默认是Object
sayName : function( ) {
alert(this.name);
}
}
var Person1 = new Person(“xiaoming”);
9.什么是prototype ? 什么是原型链?而JavaScript中每个对象都有一个内部的链接指向另一个对象,这个对象就是原对象的原型(prototype)。这个原型对象也有自己的原型,直到对象的原型为 null 为止。这种一级一级的链结构就是原型链。
如通过new运算符创建的对象,构造函数.prototype的值就是该对象的原型对象。
var now = new Date();
now对象的原型对象就是Date.prototype。
通过new 一个对象就可以调用里面的公开的方法,属性。
10.setTimeout 与 setInterval 的区别?setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式。
setInterval()方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。它会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
11.cssText?cssText的本质就是设置HTML元素的style属性值。
document.getElementById(“d1”).style.cssText = “color:red; font-size:13px;”;
12.offsetWidth, scrollLeft, scrollHeight?offsetWidth:元素的宽度(width + padding + border)
scrollLeft:返回和设置当前横向滚动条的坐标值
scrollWidth:获取对象的滚动高度。
13.IE的事件与w3c事件的区别?w3c事件流:
从根文档(html)开始遍历所有子节点,如果目标事件的父节点设置为捕获时触发,则执行该事件,直到目标被执行,然后再事件冒泡(设置为捕获时触发的事件不再被执行)。
ie事件流:
从目标事件被执行,然后再冒泡父节点的事件,直到根文档。
三.高级部分 1.除了jQuery以外,请写出你所知道的js框架,试说出不同框架的特点;Zeptojs:轻量级的适于移动端的针对高级浏览器的JavaScript库(类jQuery)
Underscore.js:一个JavaScript实用库,提供了一整套函数式编程的实用功能,没有扩展任何JavaScript内置对象,弥补了部分jQuery没有实现的功能。
Bootstrap:拥有丰富的Web组件。
Node.js: 跨平台、可用于服务器端和网络应用的运行环境;具有事件驱动、单线程运行、非阻塞I/O调用、V8引擎执行代码的特性。Node.js含有一系列内置模块,使得程序可以作为独立服务器运行,适合在分布式设备上运行的数据密集型的实时应用.
AngularJS: MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等,适用于单页面、CRUD应用。