草庐IT

编译构造

全部标签

javascript - 类与构造函数与工厂函数中的澄清需要

我正在研究ES6类,我的最终目标是了解类、构造函数和工厂函数之间的区别。我当前的理解是构造函数和类基本上使用相同的设计模式,类只是构造函数的新语法。基于这个假设,我正在尝试创建一些示例来显示类/构造函数和工厂函数之间的对比。在下面的示例中,我旨在返回新对象和一些继承的方法。我的第一个示例使用类语法非常简单。示例#1:类classPerson{constructor(name,age,location,occupation){this.name=name;this.age=age;this.location=location;this.occupation=occupation;}pri

javascript - node.js 会编译 JavaScript 吗?

Node.js使用V8并将JavaScript编译为优化策略。那么,通过node.js/V8运行在服务器端的JavaScript是编译还是解释? 最佳答案 解释器:语言运行时/虚拟机的(核心)模块部分,它针对一组表达式执行特定的“操作”,这些表达式以该模块所在的虚拟机的语言表示。编译器:语言运行时的一个(核心)模块部分,它将一组用该模块所在的编译器的语言表达的表达式“转换”为运行表达式所针对的体系结构的一组native指令。标准Node.js是针对V8构建的,它将每个Javascript代码片段编译成native指令。您可以在命令行

javascript - Javascript 中的构造函数属性是否有好的用例?

首先,这个问题不是“constructor属性的作用是什么?”-关于它到底是什么以及它是如何工作的,有很多很好的文档:它是对创建对象的函数的引用(可能继承自其原型(prototype))。我更有兴趣了解此属性的常见用例。这在理论上似乎一切都很好,但是您什么时候真正需要对构造您的对象的函数的引用?一些想法是:也许我想克隆它。我可以再次调用构造函数并且获取我的对象的另一个实例。这当然不会奏效因为您可能会创建对象的实例原型(prototype),而不是对象本身;再加上一个更受欢迎的方法是创建一个新对象并设置该对象的原型(prototype)。也许你可以用它来弄清楚对象的“类型”是。这看起来很

javascript - 如何从构造函数中删除函数?

如何从构造函数中删除一个函数?如果Person构造函数中有一个名为greet的函数,我该如何删除该函数?functionPerson(name){this.name=name;this.greet=functiongreet(){alert("Hello,"+this.name+".");};}我想要的结果是:functionPerson(name){this.name=name;} 最佳答案 deletethis.greet或varpersonInstance=newPerson();deletepersonInstance.gr

javascript - Crockford 关于构造函数调用模式的代码

下面的代码几乎与道格拉斯·克罗克福德(DouglasCrockford)的精湛著作《JavaScript:好的部分》第29-30页中的一些代码相同。唯一的区别是他像这样添加了get_status属性:Quo.prototype.get_status=function(){this.status=string;}我的问题是为什么他的代码运行正常,但我在下面的小改动会导致出现错误,提示myQuo没有get_status方法?varQuo=function(string){this.status=string;}Quo.get_status=function(){returnthis.sta

javascript - 为什么在进行 Javascript 继承时要创建一个临时构造函数?

为什么goog.inherits来自GoogleClosureLibrary看起来像这样:goog.inherits=function(childCtor,parentCtor){functiontempCtor(){};tempCtor.prototype=parentCtor.prototype;childCtor.superClass_=parentCtor.prototype;childCtor.prototype=newtempCtor();childCtor.prototype.constructor=childCtor;};而不是goog.inherits=functio

javascript - "this"在构造函数中分配的函数中如何工作?

我找到了这个示例代码:functionpersonFullName(){returnthis.first+''+this.last;}functionPerson(first,last){this.first=first;this.last=last;this.fullName=personFullName;}vardude=newPerson("Michael","Jackson");alert(dude.fullName());这会提醒“MichaelJackson”。我将其更改为从构造函数调用personFullName而不是分配函数对象:functionpersonFullNa

函数调用/构造函数调用前带有 [...] 的 Javascript 语法

我在javascript中发现了一种我从未发现过的语法以前见过,但我找不到合适的文档。它来自一个教程:varconnection=new[webkit|moz]RTCPeerConnection(...)webkit是什么意思,moz是什么意思,我自己能找到,大概这是两个定义的常量或枚举。但我的问题是:方括号中的语法[webkit|moz]是什么意思?是否对函数结果进行了某种类型转换?|字符在[webkit|moz]中是什么意思-这是OR运算符吗?谢谢 最佳答案 这不是正确的javascript语法(如果你尝试运行它,你会在第一个[

fdk-aac交叉编译与使用

简介fdk-aac可用于aac编解码器,源码链接:https://github.com/mstorsjo/fdk-aac选择Tags下的一个稳定版本,如v2.0.2,进行下载编译解压压缩文件tar-xvffdk-aac-2.0.2.tar.gz添加sigmastar_uclibc_config.cmake文件:#参考https://cmake.org/cmake/help/v3.22/manual/cmake-toolchains.7.html#cross-compiling-for-linuxSET(CMAKE_SYSTEM_NAMELinux)set(CMAKE_SYSTEM_PROCES

javascript - Java 8 Lambda 构造和 JavaScript 之间的确切区别是什么?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我必须将Java8代码转换为JavaScript(一种方式,一生一次)。为了加快速度,我想尽可能地自动化,然后使用测试套件来解决所有遗留问题。我想知道Java8lambda和JavaScript(函数)之间的区别是什么?任何重要的不兼容性?