项目中遇到过一个问题,js拿到后台返回的一个数字,在if中判断时,出现类似123==123为false的结果, 初步分析原因,应该是返回的是string类型的,但拿来比较的是个number类型的,所以两者不相等. 写成a=="123",返回true,解决. 在chrome的console下,经测试"123"==123为true, 如下代码测试: var s="123";--undefineds==123--truevar a=123;--unde…
在处理js代码判断真假时经常会这么写. 但fun()可能得到的是数字0,这可不是表示的没有值,但是!js中的数字0就是false,非0就是true. 于是0就被无情的当做false了. 已经被这个坑过N回了,做个记录,以防再被坑. 自己碰到的 if(!$('#id').length){} 从上面我们可以看到,0是false,非0是true 那么我们来看上面的代码 1,if只有是true的时候才能进入方法体, 2,true就是非false 3,就是 非0, 4,那么$('#id').length就…
在处理js代码判断真假时经常会这么写. var vale = fun();//从某个地方获取的值. if(!value){ 进入这里表示value为false或不存在 }但fun()可能得到的是数字0,这可不是表示的没有值,但是!js中的数字0就是false,非0就是true. 于是0就被无情的当做false了.…
什么是时间戳(chuō)? 答:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数. 为什么时间戳要从1970年01月01日00时00分00秒开始呢? 答:很多编程语言起源于UNIX系统,而UNIX系统认为1970年1月1日0点是时间纪元,所以为偶们常说的UNIX时间戳是以1970年1月1日0点为计时起点时间的.更复杂的解释可以参考这篇:https://blog.csdn.net/kang19940713/artic…
1.stopPropagation:阻止事件的冒泡,但不阻止事件的默认行为. 最好莫过于用例子说明: <div id='div'  onclick='alert("div");'>     <ul  onclick='alert("ul");'>         <li id='ul-a' onclick='alert("li");'><a href="http://www.baidu.com&…
在开发中不熟悉这三者区别的同学,一般都知道return可以中止,但会根据字面意思觉得return true 中止当前函数执行,但其后的函数还会继续执行.return false 中止当前函数执行,其后的函数不会执行,这是错误的想法.先看下面控制台的例子 一:可以看出三者都中止了函数执行,return后的语句不再执行,唯一区别是函数的返回值不同. 二:return只是中止当前函数,与其后的函数没有关系, 可见return只是中止当前函数对其后函数没有影响 三:对于函数中的for循环里的return…
return语句代表需要返回一个值,如果不需要就不需要使用return语句.都类似一个出口,return 可以结束方法体中 return后面部分代码的执行.return false 或者 return true 通常用于判断一些结果. return: 1.返回控制与函数结果   即return + 表达式 ,调用函数,并返回表达式的值 2.返回控制,没有函数值  即return.是函数不需要返回值,当你需要中止函数往下执行时,用这个 大多数情况下,函数经过一系列的运算处理,会有一个返回值,返回到…
图1 计算下面表达式的值: [''] == false 首先,两个操作数分别是对象类型.布尔类型.根据图1,需要将布尔类型转为数字类型,而false转为数字的结果是0,所以表达式变为: [''] == 0 两个操作数变成了对象类型.数字类型.根据图1,需要将对象类型转为原始类型: 首先调用[].valueOf(),由于数组的valueOf()方法返回自身,所以结果不是原始类型,继续调用[].toString(). 对于数组来说,toString()方法的算法,是将每个元素都转为字符串类型,然后用…
下面6种值转化为布尔值时为false,其他转化都为true 1.undefined(未定义,找不到值时出现) 2.null(代表空值) 3.false(布尔值的false,字符串"false"布尔值为true) 4.0(数字0,字符串"0"布尔值为true) 5.NaN(无法计算结果时出现,表示"非数值":但是typeof NaN==="number") 6.""(双引号)或''(单引号) (空字符串,中间…
1.false undefined.NaN.0.null和空字符串''均被视为false 2.true 除上述以外的其它情况一律被视作true…