私はJavascriptで座っていて、別の関数の中で関数をプライベートにする方法を考えています...私の関数 "render()"には多くの関数があり、ページの終わり...しかし、私はどのようにそれらを書くのですか?私は私の例を持っていて、今まで私が行ってきたことは...誰かが私の理解を助けることができますか? 関数を他の関数内でプライベートにするJquery
もの
は私の関数です:(function($) {
'use strict';
session.page.pending = true;
var Product = finance.entre.Model.extend({
type: 'Product',
render: function() {
//here should all this functions inside render: function() (like addEventHandlers: and populatepage:) become private
addEventHandlers: function(){
$(document).on('change',':input[name=PR_Type]', function(event) {
var $target = $(event.target);
product.updateObjectTypes($target.val());
product.updateHideWhen();
});
$(document).on('focus', ':input[name=DocUNID]', function(){
this.select();
});
},
populatePage: function() {
console.log('populatePage');
if (session.user.type == 'Internal') {
$('.external').remove();
dbService.dbLookup('main', 'vwInsurances', 2, null).done(function(data){
console.log('lookup done');
$('select[name=PR_Insurance]').setOptions(data, true);
});
}
});
$.when(session, $.ready).then(function(){
var product = new Product(undefined, {id: session.page.id});
product.fetch().always(function() {
product.render();
session.page.render.resolve();
});
});
(function($) {
'use strict';
session.page.pending = true; // delay translation until page rendered
var Product = finance.entre.Model.extend({ // override passed options with below
type: 'Product',
render: function() {
$(document).on('change',':input[name=PR_Type]', function(event) {
var $target = $(event.target);
product.updateObjectTypes($target.val());
product.updateHideWhen();
});
$(document).on('focus', ':input[name=DocUNID]', function(){
this.select();
});
...
コードをチェックするために彼の時間を取る皆さん、本当にありがとう、少し説明することができます:)!このよう
あなたがそれらをプライベートに何を意味するのですか?関数内で定義された関数は、その関数をグローバル関数や他のメソッドを使って明示的に見ることができない限り、その関数内でしか見ることができません...本当に、それらがプライベートでない場合は、簡単な答え、その事を –
しないでくださいこれはoopとは関係ありません... – passion
説明のためにありがとう、私は今より良く理解し始めます! –