声明:以下内容凭记忆书写,如有错误,敬请见谅!由于本人水平有限,不提供分析与答案!
单选
2.以下不属于ES6语法的是()
gengrator
let、const声明变量
function(x, y = 100) {}
Array.from
async.await
箭头函数
3.关于页面URL中的hash参数,以下表述错误的是:
hash参数可以配合页面锚点,直接将页面滚动到锚点处
hash参数可以发到服务器进行处理
hash参数变化不会导致页面刷新
可以借助hash参数实现单页应用
hash参数变化会改变浏览器浏览历史
hash变化会触发onhashchange事件
5.以下哪一个不是栈的基本运算:
遍历栈元素
清空栈元素
栈顶添加元素
删除栈底元素
判断栈是否为空
删除栈顶元素
?.以下哪些不是盒子模型的属性
padding
marging
width
height
position
content
多选
?.以下哪些不能消除元素在文档流中的占位
display: none
pacity: 0
visibility: hidden
display: relative
display: absolute
9.以下关于JS的堆栈的描述正确的是:
JavaScript的String、Array类型的数据都是放在栈内存储
JavaScript的引用类型是放在堆内存里的
栈的读取顺序是先进先出的
堆的读取顺序是先进后出的
栈内存会由系统自动分配释放
堆内存是大小固定的
10.以下关于ES6新增特性的应用,正确的是:
在对象方法内声明的“箭头函数”,不需要通过bind方法绑定this
应用“解构赋值”可以非常方便地展开数组和对象
应用模板字符串“some string”可以方便地声明多行模板文本
ES6允许为函数的参数设置默认值,使用=形式直接写在参数定义的后面
应用"Object.assign"可以深度拷贝对象
应用“Promise”可以一定程度解决回调地狱问题
编程题
11.请根据描述使用JavaScript实现函数_bind模拟原生bind方法
function func (x) {
console.log (x, this.y)
}
//your code here
//测试用例
func._bind ( { y: 'foo' } ) () //undefined "foo"
func._bind () () //undefined undefined
func._bind ( {y: 'bar'}, "foo") () //"foo" "bar"
12.写一个js函数找到html中未闭合的标签,并输出位置
var html = '
<div>
<p>
<span>
</p>
</div>
<div>
<span>
<p>
</span>
</div>
//输出 :第n行,第m列span标签未闭合;第k行,第j列p标签未闭合。
13.说说js中语法缺陷,新的语法规范怎么解决的;或者你有什么解决的方案?