javascript的隐式类型转换 apache怎么配置css,js,jpg指定到根目录上一级的目录?

[更新]
·
·
分类:互联网
3101 阅读

javascript的隐式类型转换

apache怎么配置css,js,jpg指定到根目录上一级的目录?

apache怎么配置css,js,jpg指定到根目录上一级的目录?

说真的,apache在配置方面还真不如nginx、uhttpd、lighttpd等轻量级web服务器来得方便快捷。
如果你想实现你所说的功能,那么有一个办法: 首先,使用alias创建一个非不是名为static目录的其它专用虚拟目录,比如:my_static 然后启用apache的rewrite功能(URL重写) 将凡是指向static目录的、css/js/gif/jpg/jpeg/txt等纯静态请求,隐式指向到my_static目录下。如果你不懂得如何写rewrite规则,可以追问一下,我给你写一下,如果你懂得,我就不麻烦了,呵呵,偷个懒。

前端刷算法用什么语言?

选用JS
leecode可以用js刷题了,我大js越来越被认可了是吧。但是刷题中会因为忽略js的一些特性掉入坑里。我这里总结一下我掉过的坑。
坑1:js中数组对象是引用对象
js中除了object还有数组对象也是引用对象,这点常常被忽视,所以在递归的时候传递数组要用(0)这样复制一个一样的新数组,不然会出现你传入的数组会被同级的递归改变,结果就不对了。
所以只要数组复制的地方最好都要这么写,除非你真的想引用。而且注意是slice不是splice这两个方法差别很大,你如果用splice(0)也能得到数组的复制,但是你将会删了原数组,因为splice是一个操作
增加和删除的元素,返回值是删除的元素的集合。splice(0)是表示从idx为0开始删除到数组尾部,所以得到的返回值也是这个数组。slice(start,end)可以理解为切片,省略end表示到数组尾部,如果end为负
则从数组尾部开始数。
坑2:js中的sort是默认以字典序排序
一般排序的时候都以为如果是升序就不用写compare函数,然而js中的()是按字典序排序的,这就导致你如果数组中都是非负数用sort可以得到你想要的效果,但是有负数的话就不对了。
比如 arr [-1,-3,-5,7,4,-2] () console.log(arr)
你会得到[-1, -2, -3, -5, 4, 7]
所以要记得写compare函数,不要偷懒,写成匿名函数的形式最好 。
坑3:函数没有变量提升
其实这个一般不容易犯,主要当时我是和第二个坑结合了,我自定义compare函数的时候写的是 var compare function(a,b){return a-b} ,本来没错,但是我写在了sort的下面,于是sort找不到compare函数就按照默认的字符顺序排列,搞的
我还以为是compare定义出现了问题。函数中定义变量是有“变量提升”的,就是说你在函数的任何位置定义var a都相当于在函数最开始的地方定义了var a,所以用习惯了之后就忘了函数不是变量,没有变量提升了。你在下面定义会找不到。所以写compare函数的时
候写成匿名函数吧。
坑4:浮点数运算不精确
试试console.log(0.3-0.2)你会发现是0.09999999999999998。我发现只要有奇数的浮点数存在,js就无法精确计算。这应该跟浮点数在js中存储的机制有关系。这个问题没有太好的解决办法,一般来讲答案是要求保留2位或3位小数的,利用toFixed(n)直接保留
n位就可以了,这个方法本来就是四舍五入的。但是总有些情况你可能不想四舍五入而是想取上下界什么的,这样就只能靠一些方法hack比如你想取前两位:(a*100-b*100)/100这样。
坑5:判断数组为空
判断数组为空时不能像变量一样直接用 if(!arr),因为数组不会像变量那样隐式转换,所以可以在你知道arr是个数组的情况下使用arr.lengthgt0判断,但有些情况下可能那个变量还不是数组,就不能去length,所以网上看了一个比较周全的方法,就是先判断该对象到
底是不是数组类型的,然后再取长度判断