我出去的时候离开了我的应用程序,当我几小时后回来时,应用程序因此消息而死亡:
undefined:1
<!DOCTYPE html>
^
SyntaxError: Unexpected token <
at Object.parse (native)
at IncomingMessage.<anonymous> (/home/engine/private_js/N.app.js:35:296)
at IncomingMessage.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:919:16
at process._tickCallback (node.js:419:13)
Run Code Online (Sandbox Code Playgroud)
在app.js中只有244行代码有什么样的错误,我之前没见过这样的错误,google除了粘贴bin之外什么都没有,我相信它来自node.js的深处
大声笑,服务器打嗝?
这怎么可能是假的?
console.log(parseInt(undefined));
//NaN
console.log(parseInt(undefined)===NaN);
//false
Run Code Online (Sandbox Code Playgroud)
这看起来很愚蠢
var x=(function(){var u=1;})();
console.log(x.u); // undefined
Run Code Online (Sandbox Code Playgroud)
是否有任何方式可以获取,访问或最终console.log u?
是否有任何我可以放在x中的代码可能会使你从外部易受攻击/可访问?
编辑:我的意思是没有"直接"返回你.有没有办法偶然暴露你?
如何查看函数 concat 中的代码?它是如何做它所做的事情的?有人有代码的副本或在浏览器控制台中查看它的方法吗?
console.dir 不允许我访问过去
console.dir(Array.prototype.concat);
function concat() { [native code] }
arguments: null
caller: null
length: 1
name: "concat"
__proto__: function Empty() {}
<function scope>
Run Code Online (Sandbox Code Playgroud)
我不能或不知道如何检查它,但必须有一种方法来深入研究 javascript 函数
我有一个数组值列表
var v=[0.009865,0.009866,0.009309,0.009831,0.009919,0.009965,0.009806,0.009509,0.009731,0.009888];
Run Code Online (Sandbox Code Playgroud)
我计算两者之间的最小值,最大值和差值以得出范围
var max=Math.max.apply(this,v)/100;
var min=Math.min.apply(this,v)/100;
var dif=max-min;
console.dir({'max':max,'min':min,'dif':dif});
Run Code Online (Sandbox Code Playgroud)
console.dir显示
max: 0.00009965
min: 0.00009308999999999999
dif: 0.000006560000000000005
Run Code Online (Sandbox Code Playgroud)
然后我遍历每个值,试图将它们转换为范围内的百分比
(通过找出当前值大于min的大小,将答案除以dif并将结果乘以100得到百分比)
for (var i=0;i<v.length;i++){
v[i]=((v[i]-min)/dif)*100;
console.log(v[i]);
}
Run Code Online (Sandbox Code Playgroud)
console.log显示我真的不希望看到的值(预期在0-100之间)
148962.04268292672
148977.28658536574
140486.43292682915
148443.74999999985
149785.21341463405
150486.43292682915
148062.65243902427
143535.21341463405
146919.35975609746
149312.65243902427
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我对数学的参考:https://math.stackexchange.com/questions/51509/how-to-calculate-percentage-of-value-inside-arbitrary-range
是否有更简单的方法来获得向后的数组的前9个?
var backwards=['s','d','r','a','w','k','c','a','B','s','I','y','a','r','r','A','y','M'];
f=backwards.slice(0);
f=f.slice(0,9);//front
f.reverse();
console.log(f.join()); //returns 'B,a,c,k,w,a,r,d,s'
Run Code Online (Sandbox Code Playgroud)
这种方式简直令人困惑!
我很好奇,但谷歌没有帮助这个......
我们正在寻找一种使用对象键(它是一个包含函数的对象)的整洁方式,同时还可以清楚地访问键名.
var obj={'key1':'val1','key2':'val2','key3':'val3'};
Run Code Online (Sandbox Code Playgroud)
为了在循环中获得所需的键名,我们这样做:编辑:这是错误的!
for(var i=0;i<obj.length;i++){
console.log(Object.keys(obj)[i]);
}
Run Code Online (Sandbox Code Playgroud)
但是这种循环会有可能吗?
for(var k in obj){
//?
}
Run Code Online (Sandbox Code Playgroud)
在使用&&之前我已经看过组合循环.JavaScript是否能够将两者完美结合?
我没有破坏标准循环的最接近的是:
var i=0;
for(var k in obj){
console.log(Object.keys(obj)[i]);
i++;
}
Run Code Online (Sandbox Code Playgroud)
但它不是很优雅,不是很有创意,它更像是一种解决方法,因为'i'在循环之外声明.其他一切我们都尝试过错误.