一些面试题4

  1. 请使用静态方法给对象添加一个新属性,可修改,不可删除,可循环
    Let a = {};
    Object.defineProperty(a, ‘num’, {
    Value:”1”,
    Writable:true,
    Configurable:false,
    Enumerable:”true”
    })
    // writable设置是否能修改,修改true,否则false
    // configurable:该属性不可被删除,删除true,否则false
    // enumerable是否可以被枚举(循环),拿取循环值true,否则false
  2. 循环对象的方法有哪些?
  3. for 2.For…in 3.while 4.do…while 5.forEach
  4. map 7.filter 8.Object.keys() 9.Object.values()
    10.Object.getOwnPropertyNames() 11.Object.getOwnPropertySymbols()
  5. js数据类型有哪些,判断数据类型的方法有哪些
    Number String Object Boolean undefined function bigInt Symbol
    typeof运算符
    空 undefined null
  6. ES6新增操作字符串的方法有哪些
    includes():返回布尔值,判断是否找到参数字符串。(重点)
    // startsWith():返回布尔值,判断参数字符串是否在原字符串的头部。
    // endsWith():返回布尔值,判断参数字符串是否在原字符串的尾部。
    repeat(number):返回新的字符串,表示将字符串重复指定次数返回。
    padStart(总长度,“填充的字符串”):返回新的字符串,表示用参数字符串从头部(左侧)补全原字符串。
    // padEnd(总长度,“填充的字符串”):返回新的字符串,表示用参数字符串从尾部(右侧)补全原字符串。
    模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式。带值${a}
  7. ES5中操作数组的方法有哪些

concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,仅会返回被连接数组的一个副本。
join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的,默认使用’,'号分割,不改变原数组。
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。末尾添加,返回的是长度,会改变原数组。
pop() 方法用于删除并返回数组的最后一个元素。返回最后一个元素,会改变原数组。
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。返回第一个元素,改变原数组。
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。返回新长度,改变原数组
slice()返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。返回选定的元素,该方法不会修改原数组
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。splice() 方法会直接对数组进行修改。
sort 排序
按照 Unicode code 位置排序,默认升序
reverse() 方法用于颠倒数组中元素的顺序。返回的是颠倒后的数组,会改变原数组
都接受两个参数:查找的值、查找起始位置
不存在,返回 -1 ;存在,返回位置。indexOf 是从前往后查找, lastIndexOf 是从后往前查找。
6.请写出水平居中的所有方法,请写出垂直居中所有方法
水平居中
行内元素: text-align: center
块级元素: margin: 0 auto
position:absolute +left:50%+ transform:translateX(-50%)
display:flex + justify-content: center
垂直居中
设置line-height 等于height
position:absolute +top:50%+ transform:translateY(-50%)
display:flex + align-items: center
display:table+display:table-cell + vertical-align: middle;

你可能感兴趣的:(前端,javascript,面试)