小编FZs*_*FZs的帖子

typeof!=="undefined"vs.!= null

我经常看到JavaScript代码检查未定义的参数等,这样:

if (typeof input !== "undefined") {
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

这似乎有点浪费,因为它涉及类型查找和字符串比较,更不用说它的详细程度.这是必要的,因为'undefined'可以重命名.我的问题是:代码如何比这种方法更好:

if (null != input) {
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

据我所知,你不能重新定义null,所以它不会意外地破坏.并且,由于!=运算符的类型强制,这将检查undefined和null ...这通常正是您想要的(例如,对于可选的函数参数).然而,这种形式似乎并不普遍,它甚至会导致JSLint对你使用邪恶的!=运算符大喊大叫.为什么这被认为是不好的风格?

javascript coding-style

473
推荐指数
6
解决办法
59万
查看次数

我可以在生成器中使用ES6的箭头函数语法吗?(箭头符号)

即我该如何表达:

function *(next) {}
Run Code Online (Sandbox Code Playgroud)

带箭头.我已经尝试了所有我能想到的组合,而且我找不到任何关于它的文档.

(目前使用节点v0.11.14)

javascript generator ecmascript-6 arrow-functions

209
推荐指数
5
解决办法
5万
查看次数

offsetTop vs. jQuery.offset().top

我已阅读offsetLeft并且offsetTop在所有浏览器中都无法正常工作. jQuery.offset()应该为此提供一个抽象,以提供正确的值xbrowser.

我想要做的是获取相对于元素左上角单击元素的位置的坐标.

问题是jQuery.offset().top实际上在FFX 3.6中给我一个十进制值(在IE和Chrome中,两个值匹配).

http://jsfiddle.net/htCPp/展示了这个问题.如果单击底部图像,则jQuery.offset().top返回327.5,但offsetTop返回328.

我想这offset()会返回正确的值,我应该使用它,因为它可以跨浏览器工作.但是,人们显然无法点击像素的小数.是确定Math.round()jQuery返回的偏移量的真实偏移量的正确方法吗?我应该使用offsetTop替代方法还是完全使用其他方法?

javascript jquery offset

75
推荐指数
3
解决办法
20万
查看次数

带有 += 的异步函数

let x = 0;

async function test() {
    x += await 5;
    console.log('x :', x);
}

test();
x += 1;
console.log('x :', x);
Run Code Online (Sandbox Code Playgroud)

x记录的值为15。我的问题是:为什么x 5第二个日志的值是?

如果test是后执行x += 1(因为它是一个异步函数),那么价值x1由时间test执行,所以x += await 5应的值x 6

javascript event-loop async-await

65
推荐指数
3
解决办法
2834
查看次数

XCOPY:在BATCH中覆盖所有没有提示的所有内容

我创建了一个批处理程序,它将所有比目标更新的文件从"C:\ Users\ADMIN\Desktop"复制到"D:\ Backup".这段代码很好:

xcopy "C:\Users\ADMIN\Desktop\*.*" "D:\Backup\" /K /D /H
Run Code Online (Sandbox Code Playgroud)

但它询问每个现有的目标文件: Overwrite file [Yes / No / All]?

我希望OVERWRITE所有现有的目标文件,无需用户干预.

我怎么解决这个问题?

谢谢你的回答!

windows cmd xcopy batch-file

34
推荐指数
1
解决办法
7万
查看次数

按位运算如何处理布尔值?

我在 Edabit 上遇到了这个挑战,无法解决这个按位运算的解决方案。

notNotNot = (a,b) => !!(a%2 >> b)
Run Code Online (Sandbox Code Playgroud)

挑战:

//Something which is not true is false, but something which is not not true is true! 
//Create a function where given n number of "not", evaluate whether it's true or false.

//Examples:
notNotNot(1, true) ? false
// Not true

notNotNot(2, false) ? false
// Not not false

notNotNot(6, true) ? true
// Not not not not not not true
Run Code Online (Sandbox Code Playgroud)

我做了一些研究,该操作员:

通过从左侧推入最左侧位的副本来向右移动,并让最右侧位脱落。

我认为我理解(​​例如,5 >> 10101 >> 1 …

javascript

31
推荐指数
2
解决办法
1956
查看次数

如何将函数类型应用于函数声明

给定以下类型:

type Add = (x:number, y:number) => number
Run Code Online (Sandbox Code Playgroud)

我可以声明const该类型的 a 并定义函数的其余部分,而无需显式指定类型。Typescript 知道那x是一个数字,而且确实y是一个数字。

const add: Add = (x, y) => x + y;
Run Code Online (Sandbox Code Playgroud)

我更喜欢使用function而不是定义函数const,但是似乎没有办法输入完整的函数声明。看来您被迫单独定义参数和返回类型。有什么方法可以使用Add下面声明中的类型,这样我就不必指定它x是一个数字并且y是一个数字

function add(x, y) {
    return x + y;
}
Run Code Online (Sandbox Code Playgroud)

而不被迫做类似的事情

function add(x: Parameters<Add>[0], y: Parameters<Add>[1]): ReturnType<Add> {
    return x + y;
}
Run Code Online (Sandbox Code Playgroud)

typescript

31
推荐指数
1
解决办法
4723
查看次数

Wordpress插件安装:无法创建目录

我在centos 6上使用wordpress.

我尝试安装插件.但我得到了这个错误:

安装插件:bbPress 2.5.9从https://downloads.wordpress.org/plugin/bbpress.2.5.9.zip下载安装包...

打开包装......

无法创建目录.

我怎么解决这个问题?

P/S:我运行这个命令:

sudo -u root touch /var/www/html/wordpress/wp-content/plugins/test.txt

它的工作原理.但我仍然得到那个错误.

php ftp wordpress

27
推荐指数
9
解决办法
7万
查看次数

表与粘性标题和可调整大小的列,而不使用JQuery

我见过的所有解决方案都是使用粘性标题和可调整大小的列创建一个表似乎是在使用Jquery.我想要一个只使用CSS的普通旧解决方案.如果CSS不可能,那么我可以使用CSS + Javascript,但没有JQuery,请.

我找到了针对粘性标题的单独解决方案,以及针对可调整大小的列的单独解决方案,但两者都没有完整的解决方案 有人可以帮忙吗?在我的尝试表tbody中唯一缺少的是display:block滚动条工作,但这会混淆其他一切.我的尝试:

        table{ 
        	display:block;
        	background-color:cyan;
        	height:300px !important; 
        }
        th, td {
        	min-width: 25px;
        	resize: horizontal;
        	overflow: auto;
        } 
             
        tbody { 
        	height: 30px !important;
        	background-color:green;
        	width: 100%;
        	font-size: 1.45vmin;
        	overflow-y: scroll; 
        }
Run Code Online (Sandbox Code Playgroud)
        	<div style="height:30px;background-color:red;">
            <table>
            <thead>
            <tr><td>header1</td><td>header2</td><td>header3</td><td>header4</td><td>header5</td></tr>
            </thead>
            <tbody>
        	<tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	<tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
        	
        	</tbody>
            </table> …
Run Code Online (Sandbox Code Playgroud)

html javascript css

13
推荐指数
3
解决办法
952
查看次数

光滑 - 使用动态sortBy编译

我知道光滑的2.1.可以使用ConstColumn使用"Compiled"来获取和删除预编译的Query.

private val findXXXCompiled = Compiled { 
    (someId:Column[Long], sortBy:???, drop:ConstColumn[Long], take:ConstColumn[Long]) =>
    val q = findXXX(someId) // returns a Query

    // I want to use query composition on "q" in order to further restrict my result:
    q.sortBy {
      case (_, name, state) => sortBy match {
        case ??? => name.asc
        case ??? => name.desc
        case ??? => state.asc
        case ??? => state.desc
      }
    }.drop(drop).take(take) // possible since slick 2.1. as described above using type ConstColumn
}
Run Code Online (Sandbox Code Playgroud)

}

上面的示例代码由用户从具有表格布局的UI触发.如果用户单击"名称"标题,则应根据"名称"对表进行排序 - "状态"相同. …

scala slick slick-2.0

12
推荐指数
1
解决办法
715
查看次数