1、代码的输出结果是

function add(){
var sum = 1 + 2;
console.log( sum );
}
console.log(sum) ;

答:报错

2、下列关于原型的说法错误的是    (C)

A. 原型可以节省内存空间

B. 构造函数中的prototype属性,它是一个对象,我们称之为原型

C . 原型有constructor属性,原型的constructor属性指向实例化对象

D..任何一个对象都有__proto__属性,实例的对象的__proto__属性指向构造函数原型

3、下列的哪一个表达式将返回值为假( B)

A.!(3<=1)
B.(4>=4)&&(5<=2)
C.(“a”==“a”)&&(“c”!=“d”)
D.(2<3)||(3<2)

4、如下代码中,想要在超小屏幕和小屏幕显示两列,在中屏幕和大屏幕显示三列, 三个div的class正确的写法是     (D)

<div_class=”row'><div class=””>item 1</div><div class=””>item 2</div><div_class=””>item 3</div>
</div>
A.col-sm-6 col-md-4  col-sm-6 col-md-4, col-sm-6 col-md-4
B.col-sm-6 col-lg-4   col-sm-6 col-lg-4, col-sm-6 col-lg-4
C.col-xs-6 col-lg-4   col-xs-6 col-lg-4, col-xs-6 col-lg-4
D.col-xs-6 col-md-4  col-xs-6 col-md-4, col-xs-6 col-md-4

5、== 和 === 区别?=== 和es6那个函数作用一样?

== 只比较数值

===  比较数据类型

Object.is

6、输出n-m的随机数

答:公式:Math.floor(Math.random()*(max-min)+min)

Math.floor(Math.random()*(m-n)+m)

7、offset系列

offsetHeight : 本身的高度 + 上下边框  + 上下内边距

offsetWidth : 本身的宽度 + 左右边框 + 左右内边距

offsetLeft : 父元素没有定位时 :子元素到浏览器左侧的距离   (父元素的左外边距+父元素的左边框+子元素的左外边距)

父元素有定位时  : 子元素到父元素左侧的距离  (子元素的左外边距)

offsetTop : 父元素没有定位时 :子元素到浏览器上侧的距离   (父元素的上外边距+父 元素的上边框+子元素的上外边距)

父元素有定位时  : 子元素到父元素上侧的距离  (子元素的上外边距)

client  系列 :

clientHeight : 本身的高度 + 上下内边距

clientWidth : 本身的宽度 + 左右内边距

clientLeft : 左侧边框

clientTop :  上边框

scroll 系列 :

scrollHeight : 本身的高度 + 滚动条卷曲的长度

scrollWidth : 本身的宽度 + 滚动条卷曲的长度

scrollLeft :  滚动条卷曲X轴的长度

scrollTop :  滚动条卷曲Y轴的长度

8、

function fun(n, o) {console.log(o);return {fun: function (m) {return fun(m, n);}}}var a = fun(0); a.fun(1); a.fun(2); a.fun(3);var b = fun(0).fun(1).fun(2).fun(3);var c = fun(0).fun(1);c.fun(2);c.fun(3);

答:undefined  0  0  0

undefined  0  1  2

undefined  1  2  3

9、箭头函数和普通函数的区别:

答:

1、箭头函数没有prototype(原型),所以箭头函数本身没有this

        

let a = () =>{};
console.log(a.prototype); // undefined

2、箭头函数的this指向在定义的时候继承自外层第一个普通函数的this。下面栗子中在一个函数中定义箭头函数,然后在另一个函数中执行箭头函数。

let a,barObj = { msg: 'bar的this指向' };
fooObj = { msg: 'foo的this指向' };
bar.call(barObj); // 将bar的this指向barObj
foo.call(fooObj); // 将foo的this指向fooObj
function foo() {a(); // 结果:{ msg: 'bar的this指向' }
}
function bar() {a = () => {console.log(this, 'this指向定义的时候外层第一个普通函数'); // }; // 在bar中定义 this继承于bar函数的this指向
}
  • 箭头函数的this指向定义时所在的外层第一个普通函数,跟使用位置没有关系。
  • 被继承的普通函数的this指向改变,箭头函数的this指向会跟着改变

3、不能直接修改箭头函数的this指向。上个例子中的foo函数修改一下,尝试直接修改箭头函数的this指向。

let fnObj = { msg: '尝试直接修改箭头函数的this指向' };
function foo() {a.call(fnObj); // 结果:{ msg: 'bar的this指向' }
}

10、如何在多个Promise执行完成之后做一些操作?多个Promise同时执行有一个执行完了就进行一些操作?

promise.all( )     promise.race( 数组, 回调函数)

11、默认导出和普通导出的区别:

1、默认导出只能导出一个,普通导出可以导出多个

2、普通导出可以改名字

12、打印结果:  1 2 5 3

const promise = new Promise((resolve, reject) => {console.log(1);resolve(3);console.log(2);reject(4)})promise.then((res) => {console.log(res);}).catch(err => {console.log(err);})console.log(5)

13、Object.assign()

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象分配到目标对象。它将返回目标对象。

tips:在JavaScript中枚举属性简单来说就是指对象中的属性是否可以被遍历出来,是属性的enumerable值决定的

14、reverse(反转数组)

15、join('')将数组元素无缝拼接

16、split()主要是用于对一个字符串进行分割成多个字符串数组。标准形式为String [] strings = str.split("");

17、 attr()和prop()作用和区别

attr {
    1.只能匹配到第一个元素相关的属性(标签上的元素)

2.设置属性的时候,是给所有匹配到的元素的相关属性添加新的属性;

}

prop {
    1.智能匹配到第一个元素上的相关属性 (DOM上的属性)

2.设置属性的时候,是个所有匹配的语速添加相关属性

}

attr和prop不同 {
            1.两者都可以获取固有属性;

2.prop()用于设置或获取指定DOM元素(指的是JS对象,Element类型)上的属性(property);

3.attr()是用于设置或获取指定DOM元素所对应的文档节点上的属性(attribute)。

编程:

要求 : 编写一个动物类,该类包含name的属性,和say的方法。 通过say方法可以打印动物说话了。编写一个Dog类继承动物类,要求该类中包含颜色的属性,该类重写say方法,要求打印父类的say方法里的内容,并且打印 动物颜色+动物名字+“叫了”。

 class Animal {constructor(name) {this.name = name,say => {console.log('说话了');}}}class Dog extends Animal {constructor(color, name) {super(name)this.color = colorthis.say = function () {return this.name + '叫了'}}}let dog1 = new Dog('黑白', '二哈')console.log(`${dog1.color}的${dog1.name}${dog1.say()}`);

js基础-jsAPI-JQ部分总结相关推荐

  1. JS基础知识学习(一)

    JS基础知识 前端开发常用的浏览器 谷歌浏览器(chrome):Webkit内核(v8引擎) 火狐浏览器(firefox):Gecko内核 欧朋浏览器(opera):Presto内核 IE浏览器:Tr ...

  2. JS基础(乾坤未定,你我皆是黑马4-2)

    上一篇呐就是纯粹为了跟js见个面 不知道上手是不是搞得有点上头 这篇来讲JS基础语法,小白(不会闭包的)可以认真看一下 这篇介绍了JS语法.打印99乘法表.数组去重.数组排序****js知识点罗列 学 ...

  3. 前端JS基础知识复习笔记(1)

    珠峰前端JS基础复习笔记(1) 在财务工作中自学了HTML和CSS之后,硬啃了JS高级编程三,实在觉得想要学的透是需要找一位好老师的,于是最近在学习周啸天老师的JS高级编程课,课外需要再补补基础,就回 ...

  4. 构建node.js基础镜像_我如何使用Node.js构建工作抓取网络应用

    构建node.js基础镜像 by Oyetoke Tobi Emmanuel 由Oyetoke Tobi Emmanuel 我如何使用Node.js构建工作抓取网络应用 (How I built a ...

  5. 构建node.js基础镜像_在Android上构建Node.js应用程序

    构建node.js基础镜像 by Aurélien Giraud 通过AurélienGiraud 在Android上构建Node.js应用程序-第1部分:Termux,Vim和Node.js (Bu ...

  6. # vue.js 之 对vue.js基础理解

    vue.js 之 对vue.js基础理解 Vue构造器 1 . Vue.js是一个构造函数,编程中称之为构造器 2 . 每一个new Vue() 都是一个Vue构造函数的实例,这个过程叫做实例化 3 ...

  7. 前端面试题目汇总摘录(JS 基础篇 —— 2018.11.01更新)

    温故而知新,保持空杯心态 JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string type ...

  8. JS基础篇--HTML DOM classList 属性

    页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增.删除.修改节点上的CSS类.使用classList,程序员还可以用它来判断某个节点是否被赋予了某个CSS类. 添加 ...

  9. js基础--数据类型检测的相关知识

    欢迎访问我的个人博客:www.xiaolongwu.cn 前言 最近工作有点忙,好几天都没更新技术博客了. 周末起床打开有道云笔记,发现自己的博客todolist里躺了一堆只有名字的文件. 话不多说, ...

  10. 【译】一份通俗易懂的React.js基础指南-2018

    原文链接:tylermcginnis.com/reactjs-tut- by Tyler McGinnis 这篇文章最初发表于2015年1月,但最近被更新为React 16.3以及它所包含的所有优点. ...

最新文章

  1. 深度学习中将类别标签映射到one_hot向量
  2. 【HTML】框架集(Framesets)
  3. 获取后台数据-Http
  4. 超详细的CMD文件讲解
  5. 为什么Redis是单线程?为什么能处理大并发量?(举例不错)
  6. 笔记18 客户端跳转
  7. MySQL date_add()函数​​​​​​​
  8. 前端学习(3055):vue+element今日头条管理-反馈
  9. Android程序结构
  10. 某释放驱动的样本分析及手杀报告
  11. mybatis源码环境搭建
  12. Merge Into 语句代替Insert/Update在Oracle中的应用实战
  13. [转载] python+selenium自动化软件测试(第3章):unittes
  14. 58、LVS TUN模型实战
  15. PowerBuilder GRID美化
  16. wsimport简介
  17. Java字符串相关的类详解
  18. “马赛克”真能去除了?老司机狂喜!这一神器一键去除!
  19. 浏览器无法访问hdfs界面问题
  20. 团队项目代码分析(Android游戏:别踩白块儿)

热门文章

  1. 如何通过注册会计师财管考试
  2. 关于JDK 11 更新的17个最终JEP预览
  3. 【调剂】南京农业大学2023年硕士研究生调剂工作通知
  4. vsnprintf长度
  5. 杉岩:小天才手表背后的故事,超融合数据库最佳实践
  6. 什么是大端小端 and 如何判断大端小端
  7. Python 基础 — 基础语法
  8. 关于iOS 国际化(类似微信切换语言)
  9. 什么充电宝物美价廉?物美价廉的充电宝推荐
  10. 我的游戏--恶灵骑士2.0