美文网首页
JS原生面试题篇

JS原生面试题篇

作者: Junjun_6bba | 来源:发表于2020-08-09 11:25 被阅读0次

    1:小程序与普通网页开发的区别?

    小程序开发的主要语音是JS。app.json的全局小程序配置,包括了小程序的所有页面路径界面表现,网络超时时间,底部tab等。

    {

      "pages":[

        "pages/index/index",

        "pages/logs/logs"

      ],

      "window":{

        "backgroundTextStyle":"light",

        "navigationBarBackgroundColor": "#fff",

        "navigationBarTitleText": "Weixin",

        "navigationBarTextStyle":"black"

      }}pages字段—— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。window字段—— 定义小程序所有页面的顶部背景颜色,文字颜色定义等。

    小程序

    2:数组的方法有哪些?

    push()添加数据,toString()把数组转化成字符串,join()类似于toString, 同时间他可以规定分隔符,Pop()删除最后一个元素,Splice()数组截取,删除,Concat()合并数组,不会改变原来的,而是返回新的数组

    3:JS如何实现继承?

    一:类式继承。父构造函数.call(this)。二:原型链继承。子构造函数.prototype = new 父构造函数。调用stopPropagation()阻止事件冒泡、

    4:JS的核心概念?

    面向对象:面向对象的三大特征就是:继承,多态,封装。

    This指向问题??This的指向 问题无疑是js语言中必须掌握的核心概念。This的指向是在函数调用的时候确定的。下面是this指向的四种场景。

    一:function text(){ console.log(this); }  text();

     4:this作用域问题

    (1) this总是指向调用它所在方法的对象。

    this是在函数生成的时候,自动生成的一个内部对象,只能在函数内部使用。

    (2) 全局函数调用

    this代表的全局对象window。 

    (3) 对象方法的调用 

    如果函数作为对象的方法调用,this指向的是这个上级对象,即调用方法的对象。

    (4) 构造函数的调用

    构造函数中的this指向新创建的对象本身。

    二:对象中的函数,并且这个函数是以对象方法的形式调用,那么this指向的就是调用这个方法的对象。

    var obj={age: 20,  text: function() {console.log(this); } } obj.text(); // obj对象

    三:如果一个构造函数或者类方法里面有this,那么它指向由该函数或者类创建出来的实例对象。

    5:移动端兼容性问题。ios的input输入框如何取消首字母大写?

    input框 去除ios端输入法首字母大写状态capitalize ----[ˈkæpɪtəlaɪz]。Correct ----[kəˈrekt]<input type="text"  autocapitalize="off" autocorrect="off">。。H5新增的三个属性:autocomplete----[kəmˈpliːt]很多时候,需要对客户的资料进行保密,防止浏览器软件或者恶意插件获取到。可以在input中加入autocomplete = "off"来关闭记录,系统需要保密的情况下可以使用此参数。

    6:跨域请求??AJax是浏览器用来请求服务器数据的。

    核心对象是XMLHTTPRequest,为了防止XSS攻击,浏览器对ajax做了限制,不允许跨域请求服务器。就是只能访问当前域名下的url。

    jsonp是一种常用的跨域请求方式。iframe跨域

    7:ES6篇章

    1: 箭头函数,异步Promise,map对象,forEach,let, const,Object.assign()方法用于对象的合并,import 导入模块,for in循环, for of循环(不能循环json数据)

    8:页面性能优化:

    减少http请求,资源的合并与压缩,恰当的缓存,不滥用float,雪碧图代替图片,异步加载。减少dom节点,

    9: 如何深拷贝?

    JQ的extend方法,JSON对象的parse和stringify。Object.assign()进行复制,concat

    10:html5的新特性

    绘画的canvas元素,video和audio元素,本地离线存储localStorage 和 sessionStorage ,新的特殊内容元素,比如 article、footer、header、nav、section,表单新增了输入类型和验证。同源策略指的是:协议,域名,端口相同,同源策略是一种安全协议。

    11:JQUERY选择器有哪些?

    CSS 选择器,ID选择器,标签选择器,子选择器(ul>li),后代选择器(li a),伪类选择器(a:hover,li:nth-child)

    操作DOM。。append() - 在被选元素的结尾插入内容。。prepend() - 在被选元素的开头插入内容。。after() - 在被选元素之后插入内容。。before() - 在被选元素之前插入内容。。remove() - 删除被选元素(及其子元素)。。empty() - 从被选元素中删除子元素

    12: css定位问题?

    relative ,相对定位。如果元素添加了relative,设置偏移量,元素会有移动但是所占据的那个位置空间依然还在,也不会挤掉其他的元素。absolute,绝对定位。元素加了绝对定位,在页面中是不占据空间的,他会浮动起来。他会相对于他的父元素定位。fixed相对于浏览器窗口进行定位。

    13:CSS3新增伪类举例:

    p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。p:last-of-type 。nth-child(2) ,:enabled :disabled 控制表单控件的禁用状态。:checked 单选框或复选框被选中。

    14:click的300ms延迟问题

    方案一:禁用缩放,<meta name="viewport" content="initial-scale=1,maximum-scale=1">。方案二:安装第三方依赖包。npm install fastclick ---save

    15:Input 的placeholder会出现文本位置偏上的情况 

    PC端设置line-height等于height能够对齐,而移动端仍然是偏上,解决是设置line-height:normal

    16:事件委托

    把绑定到子元素的事件 委托到父元素上,原理就是事件冒泡。使用事件委托,只需要在其父元素中定义一个事件就可以。 减少事件注册,比如在ul上代理所有li的click事件就非常棒。event.target可以判定当前点击的目标对象

    17:BOM

    BOM的核心对象是window,对象有以下方法:open  close alert setTimeout clearTimeou tsetInterval clearInterval move BymoveTo,focus等等

    相关文章

      网友评论

          本文标题:JS原生面试题篇

          本文链接:https://www.haomeiwen.com/subject/hwobextx.html