面试题目汇总——js部分

1.什么叫js

​ js是一门基于对象的、事件驱动的,解释性脚本语言

2.js的组成

  1. ECMAScript js的语法标准
  2. DOM:document object model html文档 对象 模型 DOM提供了一些操作html文档的方法
  3. BOM:browser object model 浏览器 对象 模型 BOM提供了一些操作浏览器的方法

3.js的三种引用方式

  1. 行内样式
  2. 内部引用:将代码写在script标签中
  3. 外部引用:使用script的scr属性引入外部js文件

4.数据类型

  1. 基本数据类型(值)
    1)数字 number
    2)字符串 string
    3)布尔 boolean true(真)|false(假)
    4)undefined 未定义 变量声明未赋值
    5)null 值为空 空指针/空地址
  2. 复杂数据类型(引用)
    1)数组 是特殊的对象 因此typeof之后得到的是object
    2)对象
    3)函数

5.预解析

6.数组的排序算法

​ 1)选择排序法:使用当前数组项和后面的所有数组项进行比较,找出最小项,放在当前位置,依次类推,就可以将数组从小到大排列
​ 2)冒泡培训法:相邻两个数组项,两两进行比较,如果后一个比前一个小,则交换两者的位置,这样也可以从小到大排列
​ 3)数组自带的排序方法:sort
​ 数组.sort()

7.面向对象三大基本特征:

​ 1)封装
​ 2)继承
​ 3)多态

8.面向对象创建

1)字面量创建
var obj = {
name:‘lx’,
sex:‘man’,
say:‘qqq’
}
2)实例创建:代码冗余
var obj = new Object();
obj.name = ‘lx’;
obj.sex = ‘man’;
obj.say =function(){
console.log(‘aaa’);
}
缺点:每次创建对象都需要重新实例化(new),之后再绑定属性
3)工厂模式:工厂模式创建对象其实就是把实例创建对象封装为了一个函数
var createPerson = function(name,sex,age){
var obj = new Object();
obj.name = name;
obj.sex = sex;
obj.age = age;
return obj;
}
缺点:结构不明确 工厂模式this指向window,因此某些时候需要使用this来操作对象,就无法实现
4)构造函数创建对象
1)构造函数创建对象浪费内存
2)函数名首字母大写,使用this添加属性和方法,调用的是否前面必须加new
3)构造函数的执行过程:
1)js隐式创建空对象 obj{}
2)js隐式将构造函数的this指向obj空对象
3)使用this给obj空对象添加属性和方法
4)js隐式返回绑定好属性的obj
4)构造函数中this指向创建出来的this
5)原型prototype创建对象:不能传参
6)混合式创建对象
将需要传参的属性 使用构造函数给对象绑定
将不需要传参的属性 使用原型给对象继承
优势:可以在最大程度上节省计算机内存,可以兼顾传参的效果
推荐使用

9.面向对象的继承方式

1)原型链继承

2)对象冒充继承

3)混合式继承

10.响应状态码

1. 200: 客户端请求, 和服务器成功做出响应
2. 301: 重定向, 资源被重定向到一个***永久性***的地址上, 资源的原始url可能无法访问
3. 302: 重定向, 资源被重定向到一个***临时性***的地址上, 资源的原始url还在
4. 400: 语义错误, 无法被服务器理解, 请求参数有误
5. 401: 请求需要用户验证, 包含了 Authorization 证书, 但是被服务器拒绝了
6. 403: 服务器已经理解请求, 但是拒绝执行它 无权限
7. 404: 请求url不存在 (一般常见于请求路径拼写错误)
8. 500: 服务器遇到了一个未曾预料的请求, 一般出现在后台代码报错
9. 502: 网关或者代理服务器请求时, 从服务器接收到了一个无效响应
10. 503: 服务器过载, 当前无法完成响应, 拒绝客户端连接
11. 504: 网关或者代理服务器请求时, 等待响应超时了

11.jQuery多库共存

1.使用jQuery.noConflict()方法,使得jQuery让出$
2.使用匿名函数自执行的方式 重新让jQuery可以使用$
(function($){
KaTeX parse error: Expected '}', got 'EOF' at end of input: … console.log();
})
})(jQuery)

12.严格模式

​ 1)变量必须写var
​ 2)this不能指向window
​ 3)eval有独立的作用域

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值