什么是两者之间的差异
TypeError: ... is undefined
Run Code Online (Sandbox Code Playgroud)
和
ReferenceError: ... is not defined
Run Code Online (Sandbox Code Playgroud)
?
我想知道表单的表达式new super.SomeProperty在JavaScript中是否有效.
在处理跨浏览器行为不一致的代码时出现了这个问题,例如下面的代码段中的示例.
class Test {
test() {
return new super.constructor;
}
}
console.log((new Test).test());Run Code Online (Sandbox Code Playgroud)
这会在Firefox和Edge中打印一个空对象,但会ReferenceError在Chrome和一个SyntaxErrorSafari中抛出一个.错误可以很容易地绕过括号super.constructor或使用变量,因此它不是一个真正的限制,而是对语言本身的好奇心.我检查了规范,但是在这种情况下找不到任何暗示应该抛出错误的东西,所以很可能我错过了什么.
javascript specifications super referenceerror new-expression
In javascript window是全局对象,这意味着全局范围中的每个对象都是子对象window.那么为什么我得到这个结果:
console.log(window.foo); // No error, logs "undefined".
console.log(foo); // Uncaught ReferenceError: foo is not defined.
Run Code Online (Sandbox Code Playgroud)
那两行应该是一样的,不应该吗?
我有一个简单的javascript包,我正在尝试测试.我想检查是否抛出了错误,但是当我的测试运行并且抛出错误时,测试被标记为失败.
这是代码:
var should = require('chai').should(),
expect = require('chai').expect();
describe('#myTestSuite', function () {
it ('should check for TypeErrors', function () {
// Pulled straight from the 'throw' section of
// http://chaijs.com/api/bdd/
var err = new ReferenceError('This is a bad function.');
var fn = function () { throw err; }
expect(fn).to.throw(ReferenceError);
})
})
Run Code Online (Sandbox Code Playgroud)
哪个,运行时给我以下输出:
kh:testthing khrob$ npm test
> testthing@0.1.0 test /Users/khrob/testthing
> mocha
#myTestSuite
1) should check for TypeErrors
0 passing (5ms) 1 failing
1) #myTestSuite should check for TypeErrors: …Run Code Online (Sandbox Code Playgroud) var te?st = 1
console.log(test)Run Code Online (Sandbox Code Playgroud)
尝试运行这个简单的代码.它给出了错误:ReferenceError: test is not defined尽管我定义了该变量.为什么会这样?
javascript unicode language-features language-design referenceerror
我需要在 Javascript 中创建一个 PDF。我找到了 npm 包“jsPDF”。我已经用 .jsPDF 安装了“jsPDF” npm install jspdf。它成功安装,但是当我执行以下代码时:
const jspdf = require ('jspdf');
let doc = new jspdf();
doc.setFontSize(40);
doc.text(35, 25, 'PDF with jsPDF!');
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,上面写着ReferenceError: window is not defined。
有谁知道我的代码有什么问题,或者是否缺少某些导入?
我正在使用 JavaScript 创建这家餐厅,并致力于创建不同的餐点菜单。当我遇到这个 ReferenceError 说提示未定义时,我正在添加前几行代码。如果您需要查看完整的上下文,您可以在此处引用原始代码https://repl.it/@qwerty_____/Welcome-to-the-Drivethrough和我正在此处处理的代码https://repl.it/@ qwerty_________/DullFreeMisrac。官方的错误就在这里。
ReferenceError: prompt is not defined
at evalmachine.<anonymous>:2:12
at Script.runInContext (vm.js:74:29)
at Object.runInContext (vm.js:182:6)
at evaluate (/run_dir/repl.js:133:14)
at ReadStream.<anonymous> (/run_dir/repl.js:116:5)
at ReadStream.emit (events.js:180:13)
at addChunk (_stream_readable.js:274:12)
at readableAddChunk (_stream_readable.js:261:11)
at ReadStream.Readable.push (_stream_readable.js:218:10)
at fs.read (fs.js:2124:12)
Run Code Online (Sandbox Code Playgroud)
这是在 JavaScript 上。我已经尝试将其更改为 window.prompt 而不仅仅是提示,它说窗口未定义。
ReferenceError: prompt is not defined
at evalmachine.<anonymous>:2:12
at Script.runInContext (vm.js:74:29)
at Object.runInContext (vm.js:182:6)
at evaluate (/run_dir/repl.js:133:14)
at ReadStream.<anonymous> (/run_dir/repl.js:116:5)
at ReadStream.emit (events.js:180:13)
at addChunk (_stream_readable.js:274:12)
at readableAddChunk (_stream_readable.js:261:11)
at ReadStream.Readable.push (_stream_readable.js:218:10) …Run Code Online (Sandbox Code Playgroud)在JavaScript中,如果在赋值表达式的左侧放置某种表达式,引擎将抛出ReferenceError.例如,
// 'this' on the left side
this = window; // ReferenceError: Invalid left-hand side in assignment
Run Code Online (Sandbox Code Playgroud)
要么
// function call expression on the left side
var a;
var fn = function() {return a};
a === fn(); // true
a = 1; // 1
fn() = 5; // ReferenceError: Invalid left-hand side in assignment
Run Code Online (Sandbox Code Playgroud)
要么
var a;
a = 1; // 1
(a) = 2; // 2
(1, a) = 3; // ReferenceError: Invalid left-hand side in assignment
Run Code Online (Sandbox Code Playgroud)
我的问题是:
JavaScript也有l值和r值的概念为C吗? …
在我的设备中下载 java 脚本后,此错误显示在我的 ios 屏幕中。
ReferenceError: Can't find variable: Text
This error is located at:
in App (at registerRootComponent.js:35)
in RootErrorBoundary (at registerRootComponent.js:34)
in ExpoRootComponent (at renderApplication.js:33)
in RCTView (at View.js:60)
in View (at AppContainer.js:102)
in RCTView (at View.js:60)
in View (at AppContainer.js:122)
in AppContainer (at renderApplication.js:32)
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 jsPDF 保存具有特定 id 的 div 元素,但获取Uncaught ReferenceError: jsPDF is not defined. 尝试了许多不同的方法来解决这个问题,包括 stackoverflow 上的所有可用解决方案,但都没有奏效。
下面是 div 元素的样子(它是一个根据用户选择自动填充的表格,我删除了大部分选项以减少此示例的行数)。下面是一个快速片段,可以让您了解正在发生的事情。它仍然说 jsPDF 没有定义:
$('#savePDF').click(function() {
var pdf = new jsPDF('p', 'pt', 'letter');
source = $('#yourSummary');
specialElementHandlers = {
'#bypassme': function (element, renderer) {
return true
}
};
margins = {
top: 80,
bottom: 60,
left: 40,
width: 522
};
pdf.fromHTML(
source,
margins.left,
margins.top, {
'width': margins.width,
'elementHandlers': specialElementHandlers
},
function (dispose) {
pdf.save('your-summary.pdf');
}, margins
);
});Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://unpkg.com/jspdf@latest/dist/jspdf.umd.min.js"></script> …Run Code Online (Sandbox Code Playgroud)referenceerror ×10
javascript ×9
jspdf ×2
window ×2
chai ×1
ecmascript-5 ×1
expo ×1
expression ×1
firefox ×1
jquery ×1
mocha.js ×1
node.js ×1
prompt ×1
react-native ×1
super ×1
throw ×1
typeerror ×1
undefined ×1
unicode ×1