1、键值对
jsonObj["operate"]
和jsonObj.value("operate")
都可以用来获取键为"operate"
的值。
2、let
和 var
的区别
在 JavaScript 中,let
和 var
都用于声明变量,但它们有一些重要的区别:
-
作用域:
var
:具有函数作用域。如果在一个函数内部声明,变量在整个函数内部都可见。如果在函数外部声明,变量是全局可见的。let
:具有块作用域。如果在一个块(如{}
)内部声明,变量只在该块内部可见。
-
变量提升:
var
:变量会被提升到其作用域的顶部,但初始化不会被提升。例如: javascript深色版本
console.log(x); // 输出 undefined var x = 10;
let
:变量也会被提升到其作用域的顶部,但不会被初始化。在声明之前访问变量会抛出引用错误。例如: javascript深色版本
console.log(y); // 抛出 ReferenceError let y = 10;
-
重复声明:
var
:允许在同一作用域内多次声明同一个变量。 javascript深色版本
var x = 10; var x = 20; // 合法,但会覆盖之前的值
let
:不允许在同一作用域内多次声明同一个变量
3、
document.addEventListener('DOMContentLoaded', function () { ... })
document:
这是浏览器提供的全局对象之一,代表整个HTML文档。它是DOM(Document Object Model)树的根节点,提供了对文档进行操作的方法和属性。
addEventListener:
这是document对象的一个方法,用于注册一个事件监听器。当指定的事件发生时,注册的回调函数会被调用。
'DOMContentLoaded':
这是一个特定的事件名称,表示DOM文档已经完全加载并且解析完成,但不包括样式表、图片等资源。也就是说,当这个事件触发时,所有的HTML元素都已经存在于DOM中,可以被JavaScript访问和操作。
function () { ... }:
这是一个匿名函数,也称为回调函数。当DOMContentLoaded事件触发时,这个函数会被调用。在这个函数内部,你可以编写需要在DOM完全加载后执行的代码。
4、由app_cgi.cpp的数据传输到web
if(pack->head == 0x6868 && ack_len > 4){//发送对应http头QStringList httpHead={"Content-Type: application/json\n\n", "Content type: text/html\n"};
texprintf("%s",httpHead.at(pack->type).toUtf8().data());if(pack->type == 1){QByteArray cookie=setCookie("123456789");printf("%s",cookie.data());}// 发送正文printf("%s\n", buffer + sizeof(St_HeadAck)); //删除前面0x6868和长度字节和类型}