John Resig写了一个漂亮的Class函数,时髦.我正在试图弄清楚发生了什么,除了一行之外,几乎所有事情都有所体现:
fnTest = /xyz/.test(function () {xyz;}) ? /\b_super\b/ : /.*/;
Run Code Online (Sandbox Code Playgroud)
一些事情立即浮现在脑海中,首先xyz
永远不会被初始化为变量; 那么为什么这样呢?其次,为什么要/xyz/
对没有返回任何东西的东西进行测试(没有返回语句).除非有javascript的一些漂亮的属性,我不知道(这是可能的,我觉得自己相当擅长JS并且可以解释大多数我遇到的代码不会,但是,这意味着我是在同一个山上的前夕.John Resig称之为珠穆朗玛峰大小的山.
对于那些好奇的人,这里是来自john resigs网站的完整未经编辑的代码John Resig Simple Javascript Inheritance:
(function () {
var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/;
// The base Class implementation (does nothing)
this.Class = function(){};
// Create a new Class that inherits from this class
Class.extend = function(prop) {
var _super = this.prototype;
// Instantiate a base class (but only create the instance,
// don't …
Run Code Online (Sandbox Code Playgroud) TL DR; 想要一些Java帮助连接到一个真正的本地数据库(无法访问服务器技术),或者如果你可以提供代码,那将是有效的.它所要做的就是查询数据库(MS Access,虽然可以更改),然后输出一个JSON字符串.有关更多特异性,请参阅EDIT2.
编辑:在任何人说JDBC之前; 我查看了教程(开始深入阅读),但大部分内容似乎都面向服务器技术,我无法访问.
编辑2:似乎到目前为止大多数答案都要求安装某种我不幸不能做的(并且没有提及,所以我道歉).然而,这是目前正在使用的,我想要一个类似于Java的解决方案,使其更具跨浏览器兼容性,而不仅仅是HTA(链接:https://launchpad.net/accessdb)
好的,对于长版本.我正在尝试使用本地数据库来创建桌面样式的应用程序(并可能利用其他项目的知识).我可以创建没有问题的数据库(MS Access 2003,恰好可以快速获得).目前我正在使用ActiveX脚本来处理HTML应用程序中的数据库(*.HTA文件仅适用于Internet Explorer),我真的想让这个更多的跨浏览器(如果公司EVER切换到实际的浏览器)通过使用JAVA访问数据库,然后将结果输出JSON到局部变量JavaScript可以调用并使用.
老实说,宁愿选择教程类型信息,因为我想真正了解为什么这样做有效,所以我可以稍后修改它以满足我的需要.我安装了Eclipse以及JDK,并且可以使用Java编写小程序,因此不会完全死掉脑子(但距离P不远).我一直在使用JavaScript,因此我可以阅读相当多的Java代码(不同的语法,因为它们不相关,但我知道Java的一点点我可以毫无问题地转换回JS).
无论如何,任何援助将不胜感激.我可以继续用ActiveX开发(据我所知,它可以在系统上运行,我99%肯定他们会继续使用Internet Explorer,但是,想要一些灵活性).
所以我看到一个函数,它的简单性非常坦率,因为它允许你在匿名函数中找到全局对象(当时依赖于环境可能不是窗口); 但是当你抛出javascripts的"use strict"时; 由于关键字'this'的变化评估,它会崩溃.有几种方法可以实现这一目标?
(function () {
var win = function () {
return (function () {
return this;
}());
};
//win now points to the global object no matter where it is called.
}());
Run Code Online (Sandbox Code Playgroud)
现在,如果在"use strict"的上下文中调用它们,我们将失去所描述的功能,是否有任何可以在ES5严格模式下完成的等效操作?
以供参考
(function () {
"use strict"
//code here is in strict mode
}())
Run Code Online (Sandbox Code Playgroud) 首先,我道歉,我对OO编程完全不熟悉,我确信有一个更好的方法来解决这个问题(一个可能产生搜索结果或10个问题).
所以,为了让我的生活变得轻松,并解释我想要做什么,这里的代码
class A {
propertyA = {
itemA: "a",
itemB: "b".
itemC: "c"
}
propertyB = {
itemA: "A"
}
}
class B extends A {
propertyA.itemD = "d";
propertyB.itemB = "B";
}
Run Code Online (Sandbox Code Playgroud)
我尝试这样做时收到错误.我基本上需要基类作为模板,并使用扩展类在这里和那里扩展一些东西.否则它只需要所有其他属性(我只是不想为每个类重新键入它们)
好的,我看到一些Java的参考文献,但不是javascript(希望你知道这完全不同).所以这是特定的代码:
function Sandbox() {
var args = Array.prototype.slice.call(arguments)
, callback = args.pop()
, modules = (args[0] && typeof args[0] === 'string' ? args : args[0])
, i;
if (!(this instanceof Sandbox)) {
return new Sandbox(modules, callback);
}
if (!modules || modules[0] === '*') {
modules = [];
for (i in Sandbox.modules) {
if (Sandbox.modules.hasOwnProperty(i)) {
modules.push(i);
}
}
}
for (i = 0; i < modules.length; i++) {
Sandbox.modules[modules[i]](this);
}
this.core = {
'exp': {
'classParser': function (name) {
return …
Run Code Online (Sandbox Code Playgroud) javascript ×3
database ×1
ecmascript-5 ×1
function ×1
java ×1
local ×1
object ×1
reference ×1
regex ×1
typescript ×1