竹笋

首页 » 问答 » 环境 » 2020Web前端开发常见面试题全解析
TUhjnbcbe - 2023/3/23 20:59:00

问题:为什么newVue根中的data可以直接写

解析:newVue根组件不需要复用,因此不需要以函数方式返回

问题:vue中组件的data为什么要写成函数形式

解析:在Vue中,组件都是可复用的,一个组件创建好后,可以在多个地方重复使用,而不管复用多少次,组件内的data都必须是相互隔离,互不影响的,如果data以对象的形式存在,由于Javascript中对象是引用类型,作用域没有隔离,因此data必须以函数的形式返回

问题:vue-router中hash/history是如何实现的?

解析:hash模式

#后面hash值的变化,不会导致浏览器向服务器发出请求,浏览器不发出请求,就不会刷新页面,同时通过监听hashchange事件可以知道hash发生了哪些变化。根据hash变化来实现页面的局部更新

history模式

history模式的实现,主要是Html5标准发布的两个Api(pushState和replaceState),这两个Api可以改变url,但是不会发送请求,这样就可以监听url的变化来实现局部更新

Js和native交互的方法与问题

实现JS和Native交互有两种方式:

第一种:shouldOverrideUrlLoading(WebViewview,Stringurl)通过给WebView加一个事件监听对象(WebViewClient)并重写shouldOverrideUrlLoading(WebViewview,Stringurl)方法。当按下某个连接时WebViewClient会调用这个方法,并传递参数view和url

第二种:JS和Java互调WebView开启JavaScript脚本执行WebView设置供JavaScript调用的交互接口

Eval函数的作用

eval可以将字符串生成语句执行,一般执行动态的js语句。eval的使用场合:有时候我们预先不知道要执行什么语句,只有当条件和参数给时才知道执行什么语句,这时候eval就派上用场了。

开课吧Web前端面试题
1
查看完整版本: 2020Web前端开发常见面试题全解析