1、ES6的新特性

  1. 变量 const let var
  2. 函数。 箭头函数 函数的参数默认值 promise
  3. 字符串
  4. 数组
  5. 对象
  6. module模块化
  7. 解构赋值
  8. 剩余运算符rest/扩展运算符
  9. includes
  10. 指数操作符

    2、s

3、==和===区别

区别:”==”表示只要值相等即可为真,而”===”则要求不仅值相等,而且也要求类型相同。

概念 == 和 ===
(1) “==”叫做相等运算符,”===”叫做严格运算符。
(2) ==,equality -> 等同 的意思, 两边值类型不同的时候,要先进行类型转换为同一类型后,再比较值是否相等。
===,identity -> 恒等 的意思,不做类型转换,类型不同的结果一定不等。
(3) “==”表示只要值相等即可为真,而”===”则要求不仅值相等,而且也要求类型相同。

对于明确数据类型的用===更为可靠,JavaScript是一门弱类型语言,表达式运算赋值等操作都会导致类型转换。而一些隐式转换会带来一些意想不到的后果。
编程建议:尽量使用严格运算符 ===。因为”==”不严谨,可能会带来一些违反直觉的后果。

4、java 和js的区别

  1. Java是强类型语法,声明变量的时候必须指明其类型例如int num =10;
  2. Javascript是弱类型语法,声明变量的时候不用指明其类型 var num = 10;

Java 和 JavaScript 不同之处:
1、Java是面向对象的语言,JavaScript是脚本语言,是基于对象和事件驱动的语言。
2、Java的源代码在执行之前必须经过编译,而JavaScript的代码不需要,可以由浏览器直接解释执行。
3、java主要在服务端运行;javascript主要运行在客户端浏览器中。
4、JavaScript是动态类型语言;而Java是静态类型语言。java在定义了一个数组的长度以后就不能再改变了,但是javascript却可以。
5、JavaScript是弱类型的,即在使用前不需要声明,而是浏览器解释器在运行时检查数据类型;Java属于强类型,即所有变量在编译前必须作声明;
6、JavaScript 的面向对象是基于原型的(prototype-based)实现的,Java 是基于类(class-based)的;
7、Java的语法规则比JavaScript要严格的多,功能要强大的多。
8、java语言的代码是一种HTML没有关系的语言;javascript语言的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态加载。
9、Java目前被广泛应用于PC端、手机端、互联网、数据中心等等,而JavaScript则被主要用于嵌入文本到HTML页面,读写HTML元素,控制cookies等。
Java和JavaScript各有所长各有专精,Java的舞台在编程领域,而JavaScript的得心之处是在Web页面中,它几乎无所不能。

Java 和 JavaScript 相同之处:
● 它们的语法和 C 语言都很相似;
● 它们都是面向对象的(虽然实现的方式略有不同);
● JavaScript 在设计时参照了 Java 的命名规则;

5、如何判断一个对象属于哪个类

6、jQuery能用map吗

能用map但是有所变化

原生js形式:

  1. ["1","2","3"].map(parseInt); //[1, NaN, NaN]

jquery:

  1. [1, 3, 5].map(function(num,index){return num*num});//[1, 9, 25]

7、typeof能识别数组吗

不能 返回数据类型 返回引用类型时只有object

8、javascript中函数参数arguments是数组吗

9、split与join 的区别

共同点:split与join函数通常都是对字符或字符串的操作;
两者的区别:(1)split()用于分割字符串,返回一个数组
(2)join()用于连接多个字符或字符串,返回值为一个字符串

10、js如何执行事件监听

11、js由哪几个部分组成

答:ECMAScript(核心) DOM(文档对象模型) BOM(浏览器对象模型)
1.ECMAScript是核心。 讲述了该语言的语法和基本对象
2.DOM 描述了处理网页内容的方法和接口。
3.BOM 描述了与浏览器进行交互的方法和接口。

12、var arr:[1,2,3,4,5,6,7]—>[[1,2,3],[4,5,6],[7]]

  1. <script>
  2. // for slice
  3. var arr=[1,2,3,4,5,6,7,8,9]
  4. var arr1=[];
  5. for(i=0;i<arr.length;i+=3){
  6. var item=arr.slice(i,i+3);
  7. arr1.push(item)
  8. }
  9. console.log(arr1)
  10. </script>

结果:

  1. (3) [Array(3), Array(3), Array(3)]
  2. 0: (3) [1, 2, 3]
  3. 1: (3) [4, 5, 6]
  4. 2: (3) [7, 8, 9]

13、如何判断数组是否包含某个值

array.indexOf() //返回下标或-1
array.includes(searchElement[,fromindex] //返回true false
array.find(callback[,thisArg]) //首元素值或undefined
array.findindex(callback[thisArg]) //返回下标或-1

14、search的返回值

  1. 返回起始位置 或者-1

15、小程序的生命周期

五个:

  1. onLoad() //监听页面加载
  2. onReady() //监听页面初次渲染完成
  3. onShow() //监听页面显示
  4. onHide() //监听页面隐藏
  5. onUnload() //监听页面卸载

    16、class类定义一个student类,包含name,age

  1. //定义父类 使用
  2. class Student{
  3. constructor(name,age){
  4. this.name=name;
  5. this.age=age;
  6. }
  7. }
  8. var li=new Student("lishe",12);

17、组件接受的参数要在那个属性中注册

在 组件.json中properties属性中注册

18、continue和break 的区别

break 语句可以立即退出循环,阻止再次反复执行任何代码。
而 continue 语句只是退出当前循环,根据控制表达式还允许继续进行下一次循环。

19、原型和原型链

  1. 原型: 只要在类的原型上设置了一个方法,那么所有的对象都拥有了这个方法
  2. 原型链: 1.每个对象都有一个隐藏属性proto,它指向它的原型对象

2.这个对象会享有原型上的属性或者方法
/ 如果一个对象自身没有一个方法,它就会从它的原型上去找 /

20、js有哪几种情况为false

5种情况:
null
undefind
NAN
“ “
0