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 方法

将指定的元素插入数组开始位置并返回该数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值