这就是我在做的事。
var str_1 = parseInt("2200")
var str_2 = parseInt("200")
var output = str_1 + str_2
var a = output;
var b = 10
var c = (parseFloat(a)*parseFloat(b))/100;
var results = parseFloat(c);
console.log("the result: " + resul
我是一名计算机科学专业的学生,作为学校项目的一部分,我被要求要么在v8引擎中找到一个漏洞,要么进行一些非常好的优化,要么添加一个新特性。
我选择添加一个新特性,如下所示:
function* numbers() {
i = 1;
while (true) {
yield i++;
}
}
var gen = numbers();
var l = [...gen];
var n = l[42];
换句话说,我希望有可能使用析构语法来创建一个列表,该列表可以容纳无限多的对象并访问它们。
在Haskell中可以这样做,我也想尝试用JavaScript来做同样的事情。
如果v
我读过有关的文章,并希望在游戏的一些性能关键部分使用它们(例如,作为粒子的容器)。
我想创建一个自定义的array子类,它将始终保持压缩状态,但似乎不可能用另一个数组来扩展self。
class PackedArray extends Array {
constructor() {
super();
}
extend(values) {
// `values` is another array.
// This obviously won't work, is there another way?
假设我在斯里兰卡(偏移量+5.30)。我想在斯里兰卡逗留期间,在美国当地时间上午8点(偏移-10.00)安排一次会议。我想通过将美国的偏移量添加到本地时间戳来创建我的时间戳。有没有人知道如何在不使用时刻时区的情况下在javascript中做到这一点。我所做的是,
var localTimestamp = new Date('2015-02-27 14:59').getTime();
var offset = parseInt('-10.00')*60*60;
var timestamp = (localTimestamp/1000) + offset;
在
在V8 Javascript引擎中可以使对象不可变吗?V8嵌入到C++应用程序中。
在我的例子中,我创建并填充了一个Array (代码是简化的)
auto arr = v8::Array::New(isolate, 10);
for (auto i = 0; i < 10; ++i)
{
arr->Set(context, i, v8::Integer::New(isolate, i));
}
在将结果对象传递给脚本之前,我希望使其“只读”(您可以通过调用获得)。我的一位脚本作者因为试图重用这个对象而陷入了一种混乱的境地,这是一种复杂的方式,我希望通过使对象不可变而使这种情
我想做的是从c++调用JS/v8中已经编译的函数。我这样做是为了一个我正在编写的游戏引擎,它使用V8作为脚本后端。
以下是为我的引擎格式化脚本的方式:
function init(){ //this gets called at the startup of the game
print("wambo");
}
var time = 0;
function tick(delta){ //this gets called every frame
time += delta;
print("pop");
}
我试着在这个编译后的文档中查找v
我一直在试图弄清楚如何在V8中进行异步调用,而没有运气。我试图运行的javascript代码示例是:
function test ()
{
logMessage ('asynchronous call made!');
}
saveFunc(test);
saveFunc函数应该保存测试函数,以便在脚本运行后C++代码稍后调用它时使用。每当我尝试这样做时,当我试图执行保存的函数时,它就会崩溃。我做错了什么?
下面我复制了我的全部示例代码。提前谢谢。
示例代码:
// Copyright 2015 the V8 project authors. All rights re
我想在全局函数中获得脚本的原始文件名。
我试着遵循下面的代码,但是filename.IsEmpty()返回true。
using namespace v8;
HandleScope handle_scope;
// Define Global Function 'func'
Handle<ObjectTemplate> global = ObjectTemplate::New();
auto func_name = v8::String::New("func");
auto func = v8::FunctionTemplate::New(
我需要像Javascript中的BigInteger那样将字符串转换为BigInt
示例
var reqId = "78099864177253771992779766288266836166272662";
var result = parseInt(reqId);
document.write(result);
结果值不匹配,因为JavaScript只允许最大为(2^53)-1的整数。
有什么方法可以克服这个问题吗?
我在试图构造一个v8::ScriptOrigin对象时出错。确认编译器错误,我的IDE只解析隐式复制和移动构造函数。
v8_api.cc: error: no matching constructor for initialization of 'v8::ScriptOrigin'
v8::ScriptOrigin::ScriptOrigin被标记为V8_INLINE宏,该宏为构造函数指定inline和always_inline。
我正在用CMake和Apple版本13.1.6构建我的项目,并使用带有args.gn的嵌入式v8
v8_static_library=true
v8