JS

5/8/2020 js

# 1、介绍 js 的基本数据类型

Undefined、Null、Boolean、Number、String

# 2、s 有哪些内置对象?

数据封装类对象:Object、Array、Boolean、Number 和 String

其他对象:Function、Arguments、Math、Date、RegExp、Error

# 3.this 对象的理解

this 总是指向函数的直接调用者(而非间接调用者);

如果有 new 关键字,this 指向 new 出来的那个对象;

在事件中,this 指向触发这个事件的对象,特殊的是,IE 中的 attachEvent 中的 this 总是指向全局对象 Window;

# 4.eval 是做什么的?

它的功能是把对应的字符串解析成 JS 代码并运行;

应该避免使用 eval,不安全,非常耗性能(2 次,一次解析成 js 语句,一次执行)。

由 JSON 字符串转换为 JSON 对象的时候可以用 eval,var obj =eval(‘(‘+ str +’)’);

# 5.DOM 怎样添加、移除、移动、复制、创建和查找节点

// 创建新节点

createDocumentFragment() //创建一个 DOM 片段

createElement() //创建一个具体的元素

createTextNode() //创建一个文本节点

// 添加、移除、替换、插入

appendChild()

removeChild()

replaceChild()

insertBefore() //在已有的子节点前插入一个新的子节点

// 查找

getElementsByTagName() //通过标签名称

getElementsByName() //通过元素的 Name 属性的值(IE 容错能力较强,会得到一个数组,其中包括 id 等于 name 值的)

getElementById() //通过元素 Id,唯一性

# 6.null 和 undefined 的区别?

null 是一个表示”无”的对象,转为数值时为 0;undefined 是一个表示”无”的原始值,转为数值时为 NaN。

undefined:

(1)变量被声明了,但没有赋值时,就等于 undefined。

(2) 调用函数时,应该提供的参数没有提供,该参数等于 undefined。

(3)对象没有赋值的属性,该属性的值为 undefined。

(4)函数没有返回值时,默认返回 undefined。

null:

(1) 作为函数的参数,表示该函数的参数不是对象。

(2) 作为对象原型链的终点。

# 7.new 操作符具体干了什么呢?

(1)创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。

(2)属性和方法被加入到 this 引用的对象中。

(3)新创建的对象由 this 所引用,并且后隐式的返回 this 。

# 8.JSON 的了解?

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于 JavaScript 的一个子集。数据格式简单, 易于读写, 占用带宽小。

格式:采用键值对,例如:{‘age’:’12’, ‘name’:’back’}

# 9.call() 和 apply() 的区别和作用?

apply()函数有两个参数:第一个参数是上下文,第二个参数是参数组成的数组。如果上下文是 null,则使用全局对象代替。

如:function.apply(this,[1,2,3]);

call()的第一个参数是上下文,后续是实例传入的参数序列。

如:function.call(this,1,2,3);

# 10.如何获取 UA?

function whatBrowser() {
  document.Browser.Name.value = navigator.appName

  document.Browser.Version.value = navigator.appVersion

  document.Browser.Code.value = navigator.appCodeName

  document.Browser.Agent.value = navigator.userAgent
}
Last Updated: 4/20/2021, 6:23:22 PM