2021-01-13

记录自己不知道的前端知识点

1.响应式数组:

响应式:push,pop,shift(删除数组第一个元素),unshift,

不响应:arr[0] = 4,  不是响应式 。 解决办法:1)this.$forceUpdate() ,2)Vue.set(obj, index,  value), 3)splice替换

2.函数的可变参数:

fun(...data) {........} .      this.fun(55, 44, 88) .  可以无限传参,在函数中形成一个数组。

3.this.$forceUpdate()

可以解决数据不响应问题。

5.在关闭页面时弹出确认提示窗口onbeforeunload (原生js方法)

window.onbeforeunload = function(event){    

    return '您可能有数据没有保存';

};

6.window.open和window.opener

window.open方法会返回一个窗口对象,使用这个对象可以向子窗口发送消息,而子窗口可以通过window.opener向父窗口发送消息,

7.window的父子页面message跨文档通信(低保的添加按钮,是在点击添加按钮的时候触发此事件,详情页点击保存的时候调postMessage事件)

父子通信子向父postMessage的时候,源可以写为‘*’,父向子postMessage的时候,源需要写成子的源,(也就是子页面的协议+主机号+端口)

在HTML5中新增了postMessage方法,postMessage可以实现跨文档消息传输(Cross Document Messaging)

父页面:

var OnMessage = function (e) {

            alert(e.data);

        }


        if (window.addEventListener) {  // all browsers except IE before version 9

            window.addEventListener("message", OnMessage, false);

        } else {

            if (window.attachEvent) {   // IE before version 9

            window.attachEvent("onmessage", OnMessage);

            }

        }

子页面:

8.覆盖整个窗口的element的loading事件

如果完整引入了 Element,那么 Vue.prototype 上会有一个全局方法 $loading,它的调用方式为:this.$loading(options),同样会返回一个 Loading 实例。

   const loading = this.$loading({

              lock: true,

              background: 'rgba(255, 255, 255, 0.5)'

            });

9.$router.resolve()作用

$router.resolve(./../../).href    获取到一个完整的路径,把zhjz也获取到

10.js的对象在函数内添加新property,

在函数外也可以获取到该property。

11.valueof 把转换为原始值,

就有了原始值的特性,用intanseof 检测会返回false,intanceod用来检测引用值的,typeof用来检测原始值,除null,null会反复obj

12.num.toFixed()。返回小数, 

如10.toFixed(2) 就返回10.00  如果num本身是小数就10.787878 就是10.79  (四舍五入)

13.字符串翻转,

Str.split('').reverse().join('')

14.字符串检查是否含有某个字符的方法,

startsWith(),includes(),endsWith()

var str = 'acdsw'      str.startsWith('acd')  // true      str.startsWith('sw')  // false  只检查字符串的开头,可传第二个参数索引表示从第几个开始检查开头有无这个字符 str.startsWith('acd', 3)

str.endsWith('acd')  // false      str.endsWith('sw')  // true // 只检查字符串的末尾 可传第二个参数索引表示从第几个开始向后全部检查

str.includes('acd')  // true      str.includes('sw')  // true  //检查整个字符串   可传第二个参数所以标识以索引几位最后的结尾,查结尾是否有这个字符

你可能感兴趣的:(2021-01-13)