目录
- 目录
- js相关问题与答案
- 1标签的定义与用法
- 2AJAX是什么 AJAX的交互模型流程 AJAX跨域的解决办法
- 3javascript是面向对象的怎么体现javascript的继承关系
- 4js中的3种弹出式消息提醒警告窗口确认窗口信息输入窗口的命令式什么
- 5列举javaScript的3种主要数据类型2种复合数据类型和2种特殊数据类型
- 6程序中捕获异常的方法
- 7Undefined和null简单介绍
- 8判断JS对象是否拥有某属性
- 9apply和call最强大的地方是能够扩充函数赖以运行的作用域
- 10JavaScript字符串常用方法和属性
- 11XMLHTTPRequest对象是什么
- 12javascript的常用对象有哪些
- 13你如何组织自己的代码是使用模块模式还是使用经典继承的方法
- 14callee属性实现函数的递归
- 15spliceindexhowmanyitem1itemX
- 16push pop shift unshift分别是什么功能
- js相关问题与答案
js相关问题与答案
1、标签的定义与用法:
此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。
2、AJAX是什么? AJAX的交互模型(流程)? AJAX跨域的解决办法?
(1)AJAX是什么
AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML)。
Ajax的核心是JavaScript对象XmlHttpRequest。
(2)AJAX的交互模型(流程)
1-AJAX跨域的解决办法
2–open 打开url通道,并设置异步传输
3–send 发送数据到服务器
4–服务器接受数据并处理,处理完成后返回结果
5–客户端接收服务器端返回
(3)AJAX跨域的解决办法
Web代理的方式、jQuery的ajax方法($.Ajax({}))、jquery-jsonp插件($.jsonp({}))
3、javascript是面向对象的,怎么体现javascript的继承关系?
使用prototype实现。
4、js中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令式什么?
警告Alert
确认confirm
信息输入prompt
5、列举javaScript的3种主要数据类型,2种复合数据类型和2种特殊数据类型。
主要数据类型:string, boolean, number
复合数据类型:function, object
特殊数据类型是: Null Undefined 字符串数据类型
6、程序中捕获异常的方法?
Try{}catch(){}finally{}
7、Undefined和null简单介绍
Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象Undefined 数据类型
如下情况使返回 undefined 值:
对象属性不存在、声明了变量但从未赋值。
注意:不能通过与 undefined 做比较来测试一个变量是否存在,虽然可以检查它的类型是否为“undefined”。判断类型:(null==undefined 输出为true)
typeof(undefined) == ‘undefined’
typeof(null) == ‘object’
typeof(“”) == ‘string’
typeof(0) == ‘number’
typeof(false) == ‘boolean’
8、判断JS对象是否拥有某属性?
(1) in 运算符
var obj = {name:'jack'};
alert('name' in obj); // --> true
alert('toString' in obj); // --> true
可看到无论是name,还是原形链上的toString,都能检测到返回true。
(2)hasOwnProperty 方法
var obj = {name:'jack'};
obj.hasOwnProperty('name'); // --> true
obj.hasOwnProperty('toString'); // --> false
原型链上继承过来的属性无法通过hasOwnProperty检测到,返回false。
9、apply()和call()最强大的地方是能够扩充函数赖以运行的作用域。
每个函数都包含两个非继承而来的方法:
apply()方法接收两个参数:一个是在其中运行函数的作用域,另一个是参数 数组。其中第二个参数可以是Array的实例,也可以是arguments对象。
call()方法接第一个参数是函数运行的作用域,其余的参数就是传递给函数运行时需要的参数(一个或多个)。
10、JavaScript字符串常用方法和属性
从左向右开始查找: Str.indexOf(substring, [startindex])
从右向左开始查找: Str.lastIndexOf(substring, [startindex])
截取两个索引之间的字符:Str.slice( start , [end] )或 substring( start , [end] )
从指定索引开始截取指定长度的字符:Str.substr( start , [end] )
将字符串以一定条件分割开来,返回一个字符数组 Str.split(substring)
将字符串中指定子字符串替换成新的子字符串Str.replace(rgExp,replaceText)
length : 得到字符串的长度
11、XMLHTTPRequest对象是什么?
Ajax原理
12、javascript的常用对象有哪些?
String, Math, Date和Array对象
13、你如何组织自己的代码?是使用模块模式,还是使用经典继承的方法?
对内:模块模式 对外:继承
14、callee属性实现函数的递归
function factorial(n) {
if (n <= 0)
return 1;
else
return n * arguments.callee(n - 1)
}
print(factorial(3));
15、splice(index,howmany,item1,…..,itemX)
参数 | 描述 |
---|---|
index | 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 |
howmany | 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 |
item1, …, itemX | 可选。向数组添加的新项目。 |
16、push() pop() shift() unshift()分别是什么功能?
(1)push 方法
将新元素添加到一个数组中,并返回数组的新长度值。
(2)pop 方法
移除数组中的最后一个元素并返回该元素。
(3)shift 方法
移除数组中的第一个元素并返回该元素。
(4)unshift 方法
将指定的元素插入数组开始位置并返回该数组。