如何判断JavaScript中的函数是否已定义?
我想做这样的事情
function something_cool(text, callback) {
alert(text);
if( callback != null ) callback();
}
Run Code Online (Sandbox Code Playgroud)
但它让我了
回调不是一个功能
未定义回调时出错.
我想调用3个javascript(jquery)文件是这样的:
<script type="text/javascript" src="js/file1.js"></script>
<script type="text/javascript" src="js/file2.js"></script>
<script type="text/javascript" src="js/file3.js"></script>
Run Code Online (Sandbox Code Playgroud)
在file2.js上有脚本或函数出错,例如,被调用的函数不存在.因为错误的后果file2.js是在脚本file3.js将不会被执行.
是否有一种方法在file3.js中执行脚本仍然执行?可以绕过或忽略file2.js上的错误吗?
谢谢.
注意:由于与工作相关的更改,我无法再验证此处发布的答案.最有可能的是,我永远无法接受下面的答案.这里发布的信息对IMO很有用,所以我会保持原样.如果您认为自己知道答案,请随时回答,我们将让社区决定哪些是有用的.
背景
我正在为iPod Touch 开发一个独立的Web应用程序.我的一个要求是在页面加载时关注文本字段,以便用户可以连续地执行任务(例如,使用条形码阅读器).
问题
问题是它确实关注于有问题的文本字段,但键盘不会上升.这有解决方法吗?或者这是Apple的设计?
示例Html
我不确定如何将它放入代码片段,但这是我一直在尝试的地方:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0.0">
<meta name="apple-mobile-web-app-capable" content="yes">
<link rel="apple-touch-icon" href="https://cdn57.androidauthority.net/wp-content/uploads/2016/06/android-win-2-300x162.png">
<title>TESTING</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script>
// javascript goes here
</script>
</head>
<body>
<section id="content">
<div class="container" style="margin-top: 50px;" >
<p>Testing textfield focus</p>
<form method="POST">
<div class="row">
<div class="col-xs-12">
<input type="text" class="form-control first-responder" />
</div>
<div class="col-xs-12">
<button type="submit" class="btn" style="width: 100%" …Run Code Online (Sandbox Code Playgroud) 如何检查jquery上是否有函数,但函数是否在另一个.js文件中?
validation.js:
if ($.isFunction('payment')) {
$('[data-numeric]').payment('restrictNumeric');
$('.cc-number').payment('formatCardNumber');
$('.cc-exp').payment('formatCardExpiry');
$('.cc-cvc').payment('formatCardCVC');
}
Run Code Online (Sandbox Code Playgroud)
这是假的,因为func付款在payments.js中.
我有以下类和接口:
export interface IBody {
body : ListBody;
}
export class Element {
// ...
}
export class Paragraph extends Element implements IBody {
// ...
}
export class Character extends Element {
// ...
}
Run Code Online (Sandbox Code Playgroud)
我有代码,我将获得一个Element派生对象数组(不仅仅是段落和字符).在实施IBody的情况下,我需要对身体中的元素采取行动.
查看它是否实现IBody的最佳方法是什么?是"if(element.body!== undefined)"吗?
然后我如何访问它?"var bodyElement = <IBody> element;" 给了我一个错误.
C:/src/jenova/Dev/Merge/AutoTagWeb/client/layout/document/elements/factory.ts(34,27): error TS2012: Cannot convert 'Element' to 'IBody':
Type 'Element' is missing property 'body' from type 'IBody'.
Type 'IBody' is missing property 'type' from type 'Element'.
Run Code Online (Sandbox Code Playgroud)
谢谢 - 戴夫
我有一个 HTML/JavaScript SPA,我想检查浏览器是否支持离屏画布。
我尝试过
var canvasTest = document.createElement('canvas-test');
if(typeof canvasTest.transferControlToOffscreen === "function")
{
return true;
}
else
{
return false;
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用(即它返回 false,即使浏览器实际上支持它)
我正在使用此代码来检查该函数是否存在: How to check if function isn’t in JavaScript?
javascript ×4
jquery ×3
html ×1
html5-canvas ×1
interface ×1
ios ×1
reflection ×1
typescript ×1