javaScript初级-题库

1.JavaScript 是什么? JavaScript的组成 【考核知识点:JavaScript组成】

基于对象和事件驱动的客户端脚本语⾔ 

ECMAScript (语法) DOM(⽂档对象模型) BOM(浏览器对象模型)。

2 Js内容输出的三种方法?【考核知识点:js输出方法】

1 输出一个内容到控制台  console.log(123);

2 document.write("直接在网页中输出内容");

3用于弹出一个警告框   alert("警告框");

3.什么是标识符?以及标识符的规范是什么?【考核知识点:标识符规范】

标识符:开发人员为变量,属性,函数,参数取的名字

规范:

1 是有字母,数字,下划线_,美元符$

2 不能以数字开头

3 不能是js里的关键字和保留字

4 驼峰式命名法

4.JS运算符有哪些?【考核知识点:js运算符】

算术运算符

递增递减运算符

比较运算符

逻辑运算符

赋值运算符

5.For循环的执行过程。【考核知识点:for循环】

for(表达式1;表达式2;表达式3){
      表达式4;
  }

 首先执行表达式1(一般为初始化语句),再执行表达式2(一般为条件判断语句),判断表达式1是否符合表达式2的条件,如果符合,则执行表达式4,否则,停止执行,最后执行表达式3.

5


continue和break的区别是什么。【考核知识点:break、continue】

一个是跳过当次循环

一个是结束循环

  1. while和do while 的区别是什么【考核知识点:while 、dowhile】

do while  至少执行一次  while 可能一次都不执行

do while  先执行再判断  while 先判断再执行

  1. 什么是流程控制?流程控制的三种结构有哪些?【考核知识点:流程控制】

流程控制就是控制代码按照一定结构顺序来执行。

流程控制三种结构:顺序结构,分支结构,循环结构。

  1. 数组元素的遍历 【考核知识点:数组元素的遍历】

普通for循环 - for(var i=0;i<arr.length;i++){}

for/in循环 - for(var a in arr){}

  1. 数组元素的读写。【考核知识点:获取何修改数组中的元素】

数组名[索引号]

  1. 函数的概念是什么?【考核知识点:函数的概念】

就是封装了一段可被重复调用执行的代码块,可以实现代码的重复使用。

  1. 如何声明一个函数?【考核知识点:函数的声明】

function 函数名(){

//函数体代码

function 是声明函数的关键字,必须小写

  1. 怎么调用一个函数?【考核知识点:函数的调用】

函数名()

函数不调用,自己不执行

  1. arguments的使用?【考核知识点:arguments的使用】

当你不确定有多少参数传递的时候,用arguments来获取

伪数组有以下特点

1 具有length属性

2 按照索引的方式存储数据

3 不具有数组的push,pop等方法

  1. 什么是作用域和局部作用域。【考核知识点:作用域】

作用域就是代码起作用的区域

作用于函数内的代码区域,就是局部作用域。

  1. 什么是作用域链。【考核知识点:作用域】

函数嵌套函数, 根据在**[内部函数可以访问外部函数变量]**的这种机制,用链式查找决定哪些数据能被内部函数访问,就称作作用域链

简单来说:内部函数 通过就近原则查找到变量最终的值

  1. 说一下预解析的规则【考核知识点:预解析】

 预解析:在当前作用域下, JS 代码执行之前,浏览器会默认把带有 var 和 function 声明的变量在内存中进行提前声明或者定义。 

  1. 什么是对象 【考核知识点:对象概念】

 对象是一组无序的相关属性和方法的集合, 所有的事物都是对象,例如字符串、数值、数组、函数等

  1. 为什么需要对象 。【考核知识点:对象的作用】

  为了让更好地存储一组数据(多个值), 对象中为每项数据设置了属性名称,可以访问数据更语义化,数据结构清晰,方便开发者使用。

  1. 创建对象的三种方式。【考核知识点:对象的创建】

利用字面量创建对象 var obj={};

利用new Object创建对象 var obj =new Object();

利用构造函数创建对象 var obj = new 构造函数名(实参1,实参2,实参3)

  1. new关键字的作用【考核知识点:new对象的理解】

在构造函数代码开始执行之前,创建一个空对象;

修改this的指向,把this指向创建出来的空对象

执行函数的代码

在函数完成之后,返回this---即创建出来的对象

  1. 什么是内置对象?【考核知识点:什么是内置对象】

内置对象就是指 JS 语言自带的一些对象,提供了一些常用的属性和方法 帮助程序员快速开发。

  1. 说出5个以上Math对象中的成员。【考核知识点:Math】

Math.PI             圆周率                                       

Math.floor()          向下取整                                     

Math.ceil()           向上取整                                     

Math.round()          四舍五入版 就近取整  

Math.abs()            绝对值                                       

Math.max()/Math.min() 求最大和最小值                               

Math.random()         获取范围在[0,1)内的随机值

  1. 什么是Date日期对象?【考核知识点:Date日期对象】

Date 实例用来处理日期和时间 ,Date是一个构造函数,需要实例化后 才能使用其中具体方法和属性。

  1. 什么是DOM。【考核知识点:DOM】

文档对象模型 ,  W3C 已经定义了一系列的 DOM 接口,通过这些 DOM 接口可以改变网页的内容、结构和样式。 

  1. 获取元素的方式有哪些。【考核知识点:获取元素】

getElemntById  通过id获取元素

getElementsByTagName  通过标签名获取元素

getElementsByClassName   通过类名获取元素

getElementsByName   通过Name属性获取元素

  1. 获取最后一个子节点和最后一个子元素节点 。【考核知识点:节点获取】

最后一个子节点:parentNode.lastChild

最后一个子元素节点:parentNode.lastElementChild

  1. 写出上一个兄弟节点以及上一个兄弟元素节点【考核知识点:节点获取】

上一个兄弟节点:元素.previousSibling

上一个兄弟元素节点:元素.previousElementSibling

  1. 删除节点。【考核知识点:删除节点】

node.removeChild() 方法从 node节点中删除一个子节点,返回删除的节点。

  1. innerText和innerHTML的区别?

获取内容时的区别:

innerText会去除空格和换行, 而innerHTML会保留空格和换行

设置内容时的区别:

innerText不会识别html标签, 而innerHTML会识别

  1. 什么是location对象。【考核知识点:获取元素】

Location 对象包含有关当前 URL 的信息。

Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。

  1. Location对象的常见方法有哪些。【考核知识点:获取元素】

assign() 载入一个新的文档

reload() 重新载入当前文档

replace() 用新的文档替换当前文档

  1. offset与style 的区别 【考核知识点:offset系列属性概念】

offset 可以得到任意样式表中的样式值

offset 系列获得的数值是没有单位的

offsetWidth 包含padding+border+width

offsetWidth 等属性是只读属性,只能获取不能赋值

style 只能得到行内样式表中的样式值

style.width 获得的是带有单位的字符串

style.width 获得不包含padding和border 的值

style.width 是可读写属性,可以获取也可以赋值

  1. 列举5个offset系列属性。【考核知识点:元素偏移offset

元素.offsetParent、

元素.offsetTop、

元素.offsetLeft、

元素.offsetWidth、

元素.offsetHeight

  1. 列举4client系列属性 。【考核知识点:元素可视区client

元素.clientLeft、

元素.clientTop、

元素.clientWidth、

元素.clientHeight

  1. 回调函数原理是什么?【考核知识点:回调函数】

回调函数原理: 函数可以作为一个参数。 将这个函数B作为参数传到函数A里面,当那个函数A执行完之后,再执行传进去的这个函数B,这个过程就叫做回调。

  1. 本地存储的特性【考核知识点:本地存储】

1、数据存储在用户浏览器中

2、设置、读取方便、 页面刷新不丢失数据

3、容量较大,sessionStorage约5M、localStorage约20M

4、只能存储字符串 

  1. 列出一些内置方法及其返回的值。?【考核知识点:内置函数】

任意一些内置方法 都可以 : 比如数组的方法、字符串的方法、Math、......

charAt()    它返回指定索引处的字符。

concat()    它连接两个或多个字符串。

forEach()   它为数组中的每个元素调用一个函数。

indexOf()   它返回指定值第一次出现时调用字符串对象中的索引。

length()    它返回字符串的长度。

pop()   它从数组中删除最后一个元素并返回该元素。

push()  它将一个或多个元素添加到数组的末尾,并返回数组的新长度。

reverse()   反转数组元素的顺序。

  1. JS 中“this”运算符的用途是什么?【考核知识点:this】

this 谁调用 this就指向谁

 在方法中,这指的是所有者对象,

而在普通函数中,这指的是全局对象。

而在事件中, 给谁绑定的事件 this就指向谁

  1. 声明定时器和销毁定时器,两者之间的区别是什么?

声明定时器:setTimeout() 、setInterval()  

销毁定时器:clearTimeout()、clearInterval()

setTimeout()是延迟时间到了之后,就回去回调函数,只会调用1次,就结束这个定时器

setInterval() 每隔一段延迟时间,就会去调用回调函数,会持续的去调用

  1. 数组的常⽤⽅法有哪些?怎么使用?(至少说出5个) 

push() 末尾添加

pop() 末尾删除

unshift() 头部添加

shift() 头部删除

splice() 对数组进⾏删除、添加、替换等

join()  数组转字符串

sort()  数组排序

indexOf   lastIndexOf  查找

reverse()  数组翻转

  slice()截取

  1. JavaScript的数据类型都有哪些 【考核知识点:基本数据类型】

Number 数值

String 字符串

Boolean 布尔值

Undefined 未定义

Null 空

复杂数据类型: 对象 (数组,函数)

  1. 字符串常用的方法都有哪些?怎么使用?

 根据字符串 返回索引位置  indexof  lastIndexOf

 根据位置返回字符   charAt()

字符串拼接  concat()

截取字符串slice()

替换 replace()

转数组 split()

  1. 如何去判断js数据类型

typeof 数据

返回值:number、 string、boolean、undefined、object、 function

  1. JS中的substr()和substring()函数有什么区别?

substr()第二个参数是截取的长度   substring()第二个参数是结束的索引

  1. 类型怎么实现相互转换(至少说出两种)

字符串转为数值   *1  /1  -0   或者 Number()parseInt()

数值转为字符串  +空字符串     toString()  String()

  1. 如何对数组进行排序?

数组名.sort(function(a,b){return a- b})

  1. 什么是作用域和局部作用域

作用域就是代码起作用的区域

作用于函数内的代码区域,就是局部作用域。

  1. 数组去重的实现,说出如何实现以及到哪些语句和法【考核知识点:数组去重】

新建⼀个空的结果数组,for 循环原数组,判断新数组是否存在当前元素,如果有相同的值则跳 过,不相同则push添加进新数组,⽤到indexOf()⽅法 、for循环、if判断等

  1. 如何实现对象的遍历?

for/in循环 - for(var a in arr){}

  1. 什么是函数的返回值?【考核知识点:函数返回值】

 return语句

返回值:函数执行完成后,通过return语句将指定的数据返回。

  1. 日期对象的方法都有哪些?

getFullYear() 获取年

getMonth()获取月

getDate();获取日

getDay()获取星期

getHours();获取小时

getMinutes()获取分钟

getSeconts()获取分钟

  1. ==”和“===”的不同?

前者会自动转换类型,再判断是否相等

后者不会自动类型转换,直接去比

比如:

console.log(10 == '10');  // == 只会比较值 不比较数据类型

console.log(10 === '10'); // === 值 、数据类型 都比较

  1. 请说出三元表达式的语法以及执行思路?【考核知识点:三元表达式】

语法:表达式1 ? 表达式2 : 表达式3;

思路:如果表达式1为true,返回表达式2的值;

如果表达式1 为false,返回表达式3的值。

  1. 获取元素的方式有哪些。【考核知识点:获取元素】

getElemntById  通过id获取元素

getElementsByTagName  通过标签名获取元素

getElementsByClassName   通过类名获取元素

getElementsByName   通过Name属性获取元素

querySelect()

querySelectAll()

  1. 本地存储Localstorage和Sessionstorage有什么区别,怎么使用?

setItem(key, value)  设置

getItem(key) 获取

removeItem(key)移除一个

clear()  清除所有

Sessionstorag:

生命周期为关闭浏览器窗口

在同一个窗口(页面)下数据可以共享

Localstorage:

生命周期永久生效,除非手动删除 否则关闭页面也会存在

可以多窗口(页面)共享(同一浏览器可以共享)

  1. 如何实现JS对象和JSON的相互转换

       JSON.parse() json数据转为js对象

        JSON.stringify()     js对象转为json对象

  1. Js如何定义事件,都有哪些事件类型?

事件三要素有哪些【考核知识点:事件】

事件源   、事件类型 、事件处理函数

键盘事件     

鼠标事件  

触屏事件  

  1. 简述javascript中this的指向?

this 谁调用 this就指向谁

  在方法中,这指的是所有者对象,

而在普通函数中,这指的是全局对象。

而在事件中, 给谁绑定的事件 this就指向谁

  1. Js阻止事件冒泡与阻止默认事件阻止默认事件

 阻止默认行为:  

e.preventDefault();

 return false;

阻止冒泡: e.stopPropagation();

  1. Switch语句和if else if 语句的区别?

当分支比较少时,if else语句的执行效率比switch高

当分支比较多的时候,switch的执行效率比较高,而且结构更清

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值