js踩坑汇总(一).md

49 篇文章 1 订阅
37 篇文章 0 订阅

JS问题整理

js的typeof返回的值

function number undefined object boolean

强制类型转换和隐式类型转换

强制 parseInt parseFloat number

隐式 == ===

split()和join()的区别

split()切割成数组的形式

join()是将数组幻化成字符串的形式

pop()shift()unshift()push()

push()尾部添加 pop()尾部删除

unshift()头部添加shift()头部删除

事件绑定和普通事件的区别

普通事件是通过on的方式绑定的,,只能绑定一个事件,下面的事件会覆盖上面的时间

时间绑定addEventListener可以绑定多个事件

call和apply的区别

apply:调用一个对象的一个方法,用另一个对象替换当前对象。

​ 例如:B.apply(A, arguments);即A对象应用B对象的方法。

call:调用一个对象的一个方法,用另一个对象替换当前对象。

​ 例如:B.call(A, args1,args2);即A对象调用B对象的方法。

事件委托是什么

利用事件冒泡的原理,让自己触发的事件,让他的父元素代替执行

jsonP的原理

动态创建script标签,回调函数

document.load和document ready

onload 是页面结构和样式加载完才执行

原生中没有ready这种方法,jquery有

JS的同源策略

统一来源指的是主机名,协议和端口号的组合

基于同源策略,产生代理的问题

scope的作用范围

(function(){
    var a=b=10
})()
console.log(b)
//解析上面的代码会打印 5。
这个问题的诀窍是,这里有两个变量声明,但 a 使用关键字var声明的。代表它是一个函数的局部变量。与此相反,b 变成了全局变量。

object-fit:cover

IOS端click事件无响应

因为一些未知原因,某个场景下的click无响应,,解决方法是,在你点击的地方加上cursor:pointer

原因是未将click当作touch事件处理,某些元素不具有click事件

使用touchstart事件会出现误触的情况,建议使用click+cursor

移动端的input无法获取到焦点

移动端偶然遇到focus失效的问题,

比如

$(ingput).focus()

在移动端点击不会获取焦点,并且不会呼气软键盘

此时需要我们手动的添加一个事件监听,然后使用focus()事件

//input框获取焦点
                $("body").delegate(".write_input","click",function(){
                    document.getElementById('write_input_').focus()
                    $(".write").empty().html(`
                        <input type="text" class="write_input1" placeholder="请输入内容..."/>
                        <p class="write_btn">&#xe642;</p>
                        <p class="write_btn write_Img">&#xe60d;</p>
                        <p class="write_btn write_Go">发送</p>
                    `);
                })

IOS端固定定位的问题

手机上弹出软键盘无法将输入框顶上来

在ios端使

position:fixed;
bottom:0;
left:0;

会将该元素定位到手机屏幕最底部,即使使用input获取焦点,弹出软键盘,也无法将这个元素顶上来,

所以建议使用position:absolute,使该元素在可见区域的最底部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值