小编jbd*_*zan的帖子

Javascript匿名关闭

我已经阅读了很多关于Javascript中的闭包的内容.我在mozilla.org上看到,封闭应该被定义为

(function(){...})();

但在http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html上,它说封闭功能是

(function(){...}());

有什么区别或后者是错的?last()的目的是什么?你会把一些参数放进去吗?我正在寻找一个很好的参考.

编辑:此外,Mozilla.org上有一个例子

var makeCounter = function() {
var privateCounter = 0;
  function changeBy(val) {
    privateCounter += val;
  }
  return {
    increment: function() {
      changeBy(1);
    },
    decrement: function() {
      changeBy(-1);
    },
    value: function() {
      return privateCounter;
    }
  }  
};
Run Code Online (Sandbox Code Playgroud)

为什么这个'功能'需要分号?如果需要在声明后立即调用,则应在结束分号之前放置a().但事实并非如此.

javascript anonymous-function

17
推荐指数
2
解决办法
9630
查看次数

Angular,ng-messages未在角度材料设计对话框中显示(md-dialog)

我正在使用一个表格在angularJS中添加信用卡,使用角度材料(https://material.angularjs.org/latest/#/).

对于我所有的其他形式,我使用ng-messages(https://docs.angularjs.org/api/ngMessages/directive/ngMessages)来显示验证错误,并且它工作正常.

当我在md对话框中嵌入表单时,我的ng-messages没有显示,输入变为无效,但没有显示错误.我遇到了基本验证指令和自定义验证指令的问题.

我的对话框模板:

<md-dialog>
<md-dialog-content style="max-width:800px;max-height:810px; ">
    <h2 i18n="add_card_button"></h2>
    <form name="form">
        <md-input-container>
            <label i18n="card_number"></label>
            <input  name="card_number"
                    type="text" 
                    ng-model="ctrl.newCard.cc_number"
                    class="md-input" 
                    required
                    card-number>
            <div ng-messages="form.card_number.$error">
                <div ng-message="cardNumber">test message</div>
                <div ng-message="required">test message 2</div>
            </div>
        </md-input-container>
        ...
    </form>
</md-dialog-content>
<div class="md-actions" layout="row">           
    <md-button ng-click="">
        <i18n>ok_button</i18n>
    </md-button>
    <md-button ng-click="cancel()" style="margin-right:20px;">
        <i18n>cancel_button</i18n>
    </md-button>
</div>
Run Code Online (Sandbox Code Playgroud)

我的对话框定义:

$mdDialog.show({
            controller : dialogController,
            controllerAs : "ctrl",
            bindToController : true,
            templateUrl : "creditCards/assets/templates/add_credit_card_dialog.html",
            parent : angular.element(document.body),
            targetEvent : event,
            clickOutsiteToClose : true,
            locals : {
                cardTypes …
Run Code Online (Sandbox Code Playgroud)

dialog angularjs angular-material

8
推荐指数
2
解决办法
7682
查看次数

Google Oauth2 verifyIdToken返回带有有效id_token的无效令牌签名

我正在尝试使用Google Oauth2 api的php客户端来验证id_token。id_token由一个JavaScript应用程序提供,用户在该应用程序上登录自己的Google帐户,我将该令牌提供给我的php api服务器,以便对其进行验证并从我的bdd检索正确的信息。

使用javascript登录成功,访问和id_token似乎正确,但是当我尝试使用Google_Client-> verifyIdToken()进行验证时

$client = new Google_Client();
$ticket = $client->verifyIdToken(myToken);
Run Code Online (Sandbox Code Playgroud)

,它将返回无效的令牌签名异常(尝试使用Google证书验证令牌时失败)。

我的第一个假设是认为令牌无效,因此为了使令牌无效,我将其提交给了Google验证网址 https://www.googleapis.com/oauth2/v1/tokeninfo?id_token=token

它返回用户信息,所以我的令牌似乎有效:

{
issuer: "accounts.google.com",
issued_to: "id",
audience: "id",
user_id: "id",
expires_in: 2149,
issued_at: 1397636222,
email: "mail",
verified_email: true
}
Run Code Online (Sandbox Code Playgroud)

尝试了所有我能想到的,但无法解决的问题。有人能帮我吗 ?

编辑:当我在我的javascript应用程序上进行身份验证时,我仅将其传递给我获得的id_token

access_token: "ya ... Es"
authuser: "1"
client_id: "81 ... .apps.googleusercontent.com"
code: "4/9... gI"
cookie_policy: "single_host_origin"
expires_at: "1397723048"
expires_in: "3600"
g-oauth-window: Window
g_user_cookie_policy: "single_host_origin"
hd: "dmic.fr"
id_token: "ey... d8E" <====================================
issued_at: "1397719448"
num_sessions: "2"
prompt: "none"
response_type: "code token id_token gsession"
scope: …
Run Code Online (Sandbox Code Playgroud)

google-api-php-client

5
推荐指数
1
解决办法
5532
查看次数

Java编译如何工作?

我正在将byte(8位)类型转换为short(16位)类型,在我看来,Java正在转换我原始var的值而不是转换位.

我通过将8位掩码应用于生成的var来解决它short t = data & 0xFF.

Java是否会对var或其位的值进行投射?

java casting

1
推荐指数
2
解决办法
160
查看次数

--i和i--有什么区别?

在一些代码中,我看到了一个带有--i作为第三个参数的for循环

for(int i=array.length; i<0; --i)
Run Code Online (Sandbox Code Playgroud)

也许有人可以解释我与我的区别 - ?

我想这就像我减少的那一刻?

java

-5
推荐指数
1
解决办法
1万
查看次数