javascript值为true,而它应该为false?
我刚刚开始了一个小项目来学习更多的Javascript,尤其是画布。我想创建一个简单的绘图应用程序,但我当时卡住了 目前,我已经设法让绘图正常工作(需要微调,但我刚刚开始),所以现在我想在代码中放置mousedown和mouseup事件 这就是我所做的:javascript值为true,而它应该为false?,javascript,canvas,Javascript,Canvas,我刚刚开始了一个小项目来学习更多的Javascript,尤其是画布。我想创建一个简单的绘图应用程序,但我当时卡住了 目前,我已经设法让绘图正常工作(需要微调,但我刚刚开始),所以现在我想在代码中放置mousedown和mouseup事件 这就是我所做的: var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); var radius = 10; var drag = false;
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var radius = 10;
var drag = false;
canvas.width = window.innerWidth;
canvas.height = window.innerHeight; //grootte van de canvas
var putPoint = function(e){
if(drag = true){
context.beginPath();
context.arc(e.offsetX, e.offsetY, radius, 0, Math.PI*2);
context.fill();
console.log(drag);
}
}
var engage = function(){
drag = true;
}
var disengage = function(){
drag = false;
}
canvas.addEventListener('mousedown', engage);
canvas.addEventListener('mouseup', disengage);
canvas.addEventListener('mousemove', putPoint);
我已经将一个变量“drag”放入,以便在条件为真或假时进行检查。默认情况下我把它弄错了。当鼠标按下事件被触发时,函数engage必须执行其工作并使变量drag=true
当变量为true时,应激活putPoint函数以在其上绘制点
但问题是。当我启动代码时,它默认为true,而不是false。我似乎找不到问题所在,因为对我来说,一切都是应该的
希望你们能帮我看看我到底做错了什么
这是一把小提琴:
谢谢 你不仅仅是在测试,你还在分配然后测试 改变
if(drag = true){
到
或者更好
if (drag) {
参考上一个例子,这是一篇关于
truthy/falsey
值概念的优秀文章。if(drag=true)
将true
赋值给drag
,然后检查它是否真实(一直如此。使用if(drag==true)
、if(drag==true)
或只使用if(drag)
Ye it al Make sence now:D非常感谢!这只是一个打字错误,请删除您的帖子。啊,这确实是个问题。如果我现在看,这很明显。感谢您的帮助和文章!:-D@GameAlchemist要求用户删除其答案是不合适的。如果您认为答案不正确,请投反对票。如果您相信答案,请投反对票不回答这个问题,然后标记它。@GeorgeStocker:所以我不是那个不合适的人,不是那个发布“点无用回复”的人,也不是不删除“oops-i-make-a-typo”帖子的O.P.?如果你对S.O.中的垃圾级别满意,太好了:我不是。@gamealchest“点无用回复”的鱼你难道不知道什么是社区维基答案吗?顺便说一句,当OP需要一个解释和一篇文章时,它不是一个打字错误,即使它是一个简单的问题(这就是为什么我的答案是CW)。
if (drag) {