看到一个刁钻问题: (a==1 && a==2 && a==3) 可以为true吗?

一看到这个刁钻问题,我竟然有点懵: (a==1 && a==2 && a==3) 是否可以为true?既然能提出这个问题,说明那肯定是可以为true的,那么怎么样实现呢?

在js里面,比较运算符对于不同类型的值会做类型转换,所以这里应该有可以操作的可能。我们先看一下非严格相等在js里面的类型转换关系:

被比较值 B
Undefined Null Number String Boolean Object
被比较值 A Undefined true true false false false IsFalsy(B)
Null true true false false false IsFalsy(B)
Number false false A === B A === ToNumber(B) A=== ToNumber(B) A== ToPrimitive(B)
String false false ToNumber(A) === B A ===

rollup打包处理注释的一个奇怪bug

用了个第三方zip压缩库,正常html用标签方式引入没有问题,用npm引入后发现不支持import,于是跑去github上翻了下issue,结果作者认为import不是正式标准,不打算支持,甚至有人push了修改后的代码,仍然被拒了,原因是破坏了原有的require路径。

这个也好办,把dist下的代码复制过来,加个export default就行了。结果发现下在打包时出现了奇怪的语法错误“SyntaxError: Unexpected token”,通过大段删代码的方式总算定位到一个注释的问题:

const _tr_tally = (s, dist, lc) =>
//    deflate_state *s;
//    unsigned dist;  /* distance of matched string */
//    unsigned lc;    /* match length-MIN_MATCH or unmatched char (if dist==0) 

用Javascript读写Cookie

写在前面:这篇文章出来的晚了,还请大家原谅!主要原因是今天放学后,被人拉去Happy了^_^,也祝大家周末快乐!

接上回:
要让浏览器记住用户选择的样式文件,最简单的方法就是使用cookie了,而且用Javascript设置和读取也很方便。

//设置Cookie的函数

function SetCookie(name,value){
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(2 var path=(3 var domain=(4 var secure=(5 document.cookie=name+”=”+escape(value)+((expires==null)?””:(“; expires=”+expires.toGMTString()))+((path==null)?””:(“;

点击显示/隐藏部分页面

看看效果先:
默认关闭状态:

打开状态一:

打开状态二:

网页代码如下:

在网页中实现不间断滚动的文本

这是原来收集的代码,非原创:

<div style="width: 200px; height: 150px; overflow: hidden;"><script language="javascript">
document.write(news.tBodies[0].innerHTML);
</script>
<table id="news" style="position: relative; top: 0px; width: 200px; table-layout: fixed;" cellspacing="0" cellpadding="5" bgcolor="#F8F8F8">
<tbody>
<tr>
<td valign="top" height="150"><b>新闻一</b>
<p> </p>
<p>新闻内容</p>

打开页面时背景色的渐变效果(酷)

这种效果还比较酷的说,不过打开的时候有点慢(如果你打开的窗口很大的话)。

<script type="text/javascript">

function BgColor(){
    var x = 0, step = 1;
    while( x <= 0xffffff){
        document.bgColor = x;
        x += step;
        step <<= 8;
        if( step >= 0x1000000) step = 1;
    }
}

BgColor()
// ]]>
</script>

打开页面时背景色的渐变效果…

网页自适应不同分辨率显示

尽管现在显示器的主流是17英寸的,但不少用户仍然使用的是15英寸的显示器。我们在用一张图片做首页时,为了能使页面在不同的分辨率下都能完美的显示出来,就需要考虑网页能否根据不同的分辨率自动显示相应的页面。

这里有一种比较简单的方法,可以轻松解决上述问题:

首先准备好要在两个不同分辨率下分别显示的文件,这里假设为 index1.html 和 index2.html;

其次在你的首页文件 index.html 或者 index.htm的页面代码中的和中加入以下代码: