111.简述函数语法中,arguments和形式参数的关系
arguments是函数声明时的一个内建参数,可以接收函数在调用时传递的所有参数数据的特殊变量
形式参数是函数声明时候,放在函数声明后面括号中的变量,声明函数如果需要执行就需要接收这些参数数据
arguments是一个内建关键词,可以表示或者描述参数
112.请说明你对闭包的理解,闭包有什么特点,并写出一个简单的闭包代码
闭包本质上就是在函数的内部声明了另一个函数,通过闭包可以扩展外部函数中局部变量的作用域范围,让外部函数中的局部变量避免了变量全局污染的问题,缺点在于如果不处理好闭包中内部函数的引用问题,很容易造成外部函数常驻内存,导致内存泄露
function outer() {
var a = 0
function inner() {
console.log('外层函数变量',index)
}
return inner
}
113.简述你对this对象的理解
全局函数,this指向window,事件属性上绑定的函数,this指向事件触发的标签对象,JSON对象中的函数,this指向当前对象,计时器中的函数,this指向window,构造函数中,this指向当前构造函数创建的对象,call ()、apply()可以改变函数调用时this的指向
114.编写程序代码,实现数组中重复数据的剔除功能
function trim(arr) {
var newArr == []
for(var i=0;i<arr.length;i++) {
if(!newArr.includes(arr[i])) {
newArr[i].push(arr[i])
}
}
}
115.编写一个程序代码,实现一个div的鼠标拖动效果
var box = document.querySelector('#box')
function drag(ele) {
ele.mousedown = function(e) {
var event = window.event || e
var ox = event.offsetX
var oy = event.offsetY
document.onmousemve = function(e) {
var event = window.event || e
var cx = event.clientX
var xy = event.clientY
box.style.left = cx - ox + 'px'
box.style.top = cy-oy + 'px'
}
}
ele.onmouseup = function() {
document.onmousemove = null
}
}
116.编写代码 ,实现一个选择排序算法对数组进行排序
function sort(arr) {
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
var temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
}
}
}
}
117.jQuery和JavaScript之间的关系(BC)
A.jQuery就是高级JavaScript,是JavaScript的升级版
B.jQuery只是通过封装Javascript代码实现了一些功能的函数
C.JavaScript是一种编程语言,jQuery是一个JavaScript函数库
D.JavaScript是一种编程语言,jQuery也是一种新的编程语言
118.下面说法错的是(AD)
A window.onload 事件需要等待网页文档结构加载完成后执行
B window.onload 事件需要等待页面资源结构加载完成后执行
C $(function(){})需要等待网页文档结构加载完成后执行
D $(function(){})需要等到页面资源结构加载完成后执行
119.jQuery中的文档加载函数描述正确的是(BC)
A $(window).ready(fn)
B $(document).ready(fn)
C $(function(){})
D $.ready(function(){})
120.$(‘div’)选择器描述正确的是(AC)
A 选择当前网页中所有div标签
B 选择当前网页中所有div标签并返回DOM对象
C 选择当前网页所有div标签并返回jQuery对象
D 选择当前网页最外层div标签并返回jQuery对象