相关疑难解决方法(0)

读取未定义的对象属性时强制JavaScript异常/错误?

我是一名经验丰富的C++/Java程序员,第一次使用Javascript.我正在使用Chrome作为浏览器.

我用字段和方法创建了几个Javascript类.当我读取一个不存在的对象字段时(由于我的错字),Javascript运行时不会抛出错误或异常.显然这样的读取字段是"未定义的".例如:

var foo = new Foo();
foo.bar = 1;
var baz = foo.Bar; // baz is now undefined
Run Code Online (Sandbox Code Playgroud)

我知道我可以检查" 在JavaScript中检测未定义的对象属性 "中提到的"未定义"的相等,但这似乎很乏味,因为我经常在我的代码中读取对象字段.

当我读取未定义的属性时,有没有办法强制抛出错误或异常?

当我读取未定义的变量(而不是未定义的对象属性)时,为什么会抛出异常?

javascript

33
推荐指数
4
解决办法
1万
查看次数

角度服务,具有不存在的属性的默认值

使用在Android和Windows中执行的Ionic应用程序.

有一些服务,例如Ionic $ionicLoading,我们覆盖功能以便在Windows中正常工作:

angular.factory('$ionicLoading', function(){
    return {
        show: function (){...} // custom implementation
        hide: function (){...} // custom implementation
    }
});
Run Code Online (Sandbox Code Playgroud)

但是我们必须覆盖其他服务,只是为了不破坏应用程序.在这种情况下,提供不会做任何事情的服务将非常有用.例如:

angular.factory('$ionicExampleService', function(){
    return {
        *foo*: angular.noop // for operations
        *bar*: promise // returns promise
    }
});
Run Code Online (Sandbox Code Playgroud)

注意:我知道更好的方法是使用在Ionic实现或制作之间选择的服务,但这只是为了学习.

理想情况会更进一步,能够返回更加防弹的东西会很棒.像通用的灵活服务:

angular.factory('$ionicPopup', function(){
    return /*magic*/;
});

$ionicPopup.show({...}) // show was not defined
    .then(foo); // won't break and will execute foo()
Run Code Online (Sandbox Code Playgroud)

有可能的?

javascript angularjs ionic

9
推荐指数
1
解决办法
234
查看次数

什么是Python的字典get方法的Javascript等价物

Python的字典get方法允许我指定在键不存在时应返回的内容.对于我目前的情况,我想要一个字典返回.我如何在Javascript中执行此操作?

javascript

6
推荐指数
3
解决办法
2096
查看次数

标签 统计

javascript ×3

angularjs ×1

ionic ×1