JS部分习题

1、变量命名规则

1.变量命名必须以字母或是下表符号“_”或者“$”为开头
2.变量名长度不能超过255个字符。
3.变量名中不允许使用空格。
4.不使用脚本语言中保留的关键字及保留符号作为变量名。
5.变量名区分大小写。(javascript是区分大小写的语言)

2、数据类型有几种,判断数据类型的方法

七种数据类型:numeber,null,undefinde,string,boolean,object,symbol

JS数据类型的判断主要有三种方法:typeof、instanceof、Object.prototype.toString.call()

typeof

3、哪些运算符常用作布尔判断简述运算符的优先级

逻辑运算符 ||,&&,!, . [] () 字段访问、数组下标、函数调用以及表达式分组

4、写出以下常用函数:生成随机数、数字四舍五入、字符串查询子串、字符串分割为数组、检索数组中的元素、数组拼接成字符串、向数组中增删元素

rand()生成随机数,

toFixed()四舍五入

substr方法用于返回一个从指定位置开始的指定长度的子字符串

split()字符串分割

results.push()寻找索引

join("")数组拼接成字符串

push()增加

remove()删除

5、怎样改变元素的内容、属性、样式

修改内容:通过dom获取标签的id,使用inner HTML修改该元素的内容

修改样式:通过dom获取标签的id,使用style(要修改的样式)如color

修改属性:通过dom获取标签的id,使用setAttribute修改属性。

6、怎样获取浏览器窗口尺寸

网页可见区域宽:document.body.clientWidth
网页可见区域高:document.body.clientHeight

7、怎样控制浏览器前进、后退、页面跳转

window.history.forward()前进
window.location跳转(一)
window.navigate跳转(二)
window.open跳转(三)q

window.history.back()后退

8、遍历数组和对象的常用方法有哪些

for循环

foreach遍历(可以同时取出数组中的值和值对应的下标)

for --- of遍历

for --- in遍历(常见用在对象中,遍历对应的key值和value值)

map循环

every循环

Each循环

9、Js数据类型强制转换的方法(写出三种即可)

转换函数、强制类型转换、利用js变量弱类型转换。

10、说明全局变量和局部变量的作用范围和生命周期

局部变量:

1.局部变量:在函数内部用var声明的变量

2.局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量
(函数参数只在函数内起作用,属于局部变量)

3.局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁

全局变量:

全局变量:变量在函数外定义,网页上的所有脚本和函数都能访问它

变量生命周期:

1.变量生命周期在声明变量时开始

2.局部变量在函数执行完毕后被销毁

3.全部变量在页面关闭后被销毁

11、例举3种强制类型转换和2种隐式类型转换?

强制:to string  string  number  Boolean

隐式:“+”“-”“!!”

12、向数组中添加和删除元素的方法有哪些?至少各写一个

1.push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

2.unshift方法就是将要添加的元素添加到数组头部

3.pop方法是与push对应的,删除最后一个元素,数组长度-1

4.splice方法是修改方法,具有添加和删除功能

5.Shift删除数组中第一个元素

13、什么是事件委托

事件委托就是利用冒泡的原理,把本应该添加到某个元素上的事件委托给他的父级,从而减少DOM交互达到网页优化。

14、闭包是什么?有什么特性?对页面有什么影响?

闭包是将函数内部和函数外部连接起来的桥梁。  特性:函数嵌套函数;内部函数可以读取到外部函数的变量和参数;不会被垃圾回收制度回收。

使用闭包会占有内存资源,过多的使用闭包会导致内存溢出,影响页面刷新速度。

15、如何创建新元素并添加到页面中

先在html页面创建一个空div   var div = document.createElement(“p”);

Div.appendChild(p);先创建元素然后插入页面中的空div 

16、希望获取到页面中所有的checkbox怎么做

var domList = document.getElementsByTagName('input');
var checkBoxList = [];
for (var i = 0; i < domList.length; i++) {
if (domList[i].type == 'checkbox') {
checkBoxList.push(domList[i]);
}
}
console.log(checkBoxList)

17、创建一个数组 每一项都是0到50之间的随机数字,请写出关键代码

var randNums = [];

              for (i = 0; i < 50; i++) {

                     var randNum = Math.floor(Math.random() * i);

                     randNums.push(randNum);

                     console.log(randNums);

              }

18、函数调用的方式有几种(写出三种即可)

1.函数调用 模式  声明式: function fuc() {}
表达式式: var func = function() {};
Function: new Function( ‘参数’,…,’函数体’ );
2.方法调用 模式 method
3.构造器模式(构造函数模式, 构造方法模式)
特点:使用 new 关键字引导

19、JS有几种引入方式

内部引入。行内引入,外部引入

20、null和undefined的区别是什么?

Null是空值typeof返回的是object

Undefined是未定义的,返回的是Undefined

21、js的特点是什么

简单性,安全性,动态性,跨平台

22、怎样获取到页面中的

DocumentgetElementById(‘con’);

23、JavaScript输出数据的方法?

弹窗,console.log(),document.write,innnerhtml,innertext。

24、什么是JavaScript

Js是一种脚本语言,不需要编译。主要用于web,它用于增强html页面;可以嵌入html和代码中。

25、javascript的typeof返回哪些数据类型?(写英文)

Object,undefined,number,string,boolean

26、请写出添加 删除 替换 插入节点所用的方法?

1、创建元素节点:createElement

    创建文本节点:createTextNode;

2、插入节点:appendchild:在要插入的元素节点上调用,他插入指定的节点使其成为那个节点的最后一个子节点。

3、删除节点:removeChild;从文档树中删除一个节点(先找到要删除节点的父节点,用父节点删除);

4、替换节点:replaceChild;将一个节点替换为另一个节点(先找到要替换的节点的父节点,用父节点替换);

27、什么是数组,什么是对象,并说出他们的区别

对象,就是一种无序的数据集合,由若干个“键值对”构成

数组:组也是对象,数组只是将对象里面无序的数据有序化。

区别:数组表示有序数据的集合,而对象表示无序数据的集合。
数组的数据没有”名称”,2但是有对应的索引;对象的数据有”名称”(属性名),而对象因为是无序数据的集合,所以不存在索引

28、请写出js中的两种定时器,区别是什么?

setTimeout 和 setInterval。

区别setTimeout 只执行一次 setInterval重复执行

29、js两要素是什么

选择器和函数

30、split和join的区别

join() 方法用于把数组中的所有元素放入一个字符串

split(a,b)方法:用于把一个字符串分割成字符串数组

你可能感兴趣的:(学习,javascript,js,字符串)