笔试1

1  js改变数组数据及长度的方法有哪些?作用是什么?

  arr.pop()  :  删除数组最后一个元素,返回删除项

  arr.push() : 在数组末尾添加一个或多个元素,返回数组新长度

  arr.shift()  : 删除数组的第一个元素,返回删除项

  arr.unshift() : 在数组的第一项前面添加一个或多个元素,返回数组长度

2  如何将JSON字符串转为json 对象?

  var  str = '{ "name"="jack","age"="15"}'

  var obj = str.parse.JSON() 或 obj = JSON,parse(str)      //JSON字符串转对象

  var  str = JSON.stringify(obj)  // 对象转 JSON字符串

3  JS实现Storage,使得该对象为单例,并对localStorage进行封装设置值setItem(key,value)和getItem(key)

  var instance = null;

  class Storage {

 

     //前半句答案

 

      static getInstance() {

 

          if (!instance) {

 

              instance = new Storage();

 

          }

 

          return instance;

 

      }

 

       //后半句答案

 

    setItem = (key, value) => localStorage.setItem(key, value)

 

    getItem = key => localStorage.getItem(key)

 

}

 

 

4  import 和 require 的区别?

  遵循规范 :     require 是 AMD规范引入方式

 

        import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法

  调用时间 :   require是运行时调用,所以require理论上可以运用在代码的任何地方

        import是编译时调用,所以必须放在文件开头

  本质  :   require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量

        import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,

import语法会被转码为require

 

 

5  一个对象数组 emps ,对象包含name和value属性,写个方法判断对象数组是否有name等于"jack"的项,包含返回1,不包含返回0

  function isContain(){

  for(let i = 0 ;i<emps.length;i++){

  if(emps[i].name =="jack"){

    return 1

  }

   }

  return 0

}

 

 

6  vue生命周期,DOM元素的双向数据绑定在生命周期的什么时候生效

  1 , beforeCreate

  2 , created

  3 ,  beforeMount

  4 , mounted

  5 , beforeUpdate

  6 , updated

  7 , beforeDestroy

  8 , destroyed

  DOM元素的双向绑定在 mounted 里生效

 

7  vue组件中的data为什么必须是一个函数?

   因为组件是可以重复使用的,如果data 不是一个函数,而是一个属性的话,那么data 里的数据就相当于共享了,如果改变了一个引用组件的data 里的值

那么其它引用组件的data 里的值也会改变,而函数每个引用返回的都一个是新data 对象

 

8  vue中,父组件如何向子组件传值?子组件如何向父组件传值?父组件如何获取子组件内的值?平级组件间如何传值?

  1,父向子传值:对引用子组件的标签绑定属性,子组件使用props接收

  2 , 子向父传值:对引用子组件的标签绑定带入参的事件方法,子组件使用$emit调用父组件事件,将数据作为参数传递给父组件

  3 , 父组件获取子组件内的值:给子组件设置设置ref名,使用this.$refs.【ref名】.data

  4,  平级组件:利用平级组件的公共父组件做中间处理,结合子向父,父向子传值;或者使用vuex

 

9  写几个常用的css3特有属性

  1   border-radius

  2   box-shadow

  3   animation

  4   bankgroud

  5   transform

  6   opacity

 

10  bootstrap实现响应式布局的原理是什么

  将网页等分,利用媒体查询,针对不同的屏幕尺寸做等分样式

posted @ 2020-06-28 16:51  edczjw  阅读(96)  评论(0编辑  收藏  举报