要使用公共方法创建JavaScript类,我会执行以下操作:
function Restaurant() {}
Restaurant.prototype.buy_food = function(){
// something here
}
Restaurant.prototype.use_restroom = function(){
// something here
}
Run Code Online (Sandbox Code Playgroud)
这样我班级的用户可以:
var restaurant = new Restaurant();
restaurant.buy_food();
restaurant.use_restroom();
Run Code Online (Sandbox Code Playgroud)
如何创建一个可由buy_food和use_restroom方法调用的私有方法,但不能由类的用户创建外部方法?
换句话说,我希望我的方法实现能够:
Restaurant.prototype.use_restroom = function() {
this.private_stuff();
}
Run Code Online (Sandbox Code Playgroud)
但这不应该奏效:
var r = new Restaurant();
r.private_stuff();
Run Code Online (Sandbox Code Playgroud)
我如何定义private_stuff为私有方法,所以这两个都适用?
我已经阅读了Doug Crockford的几次写法,但看起来似乎不能通过公共方法调用"私有"方法,并且可以在外部调用"特权"方法.
指定图像高度和宽度的"正确"语义方式是什么?在CSS ...
width:15px;
Run Code Online (Sandbox Code Playgroud)
或内联......
<img width="15"
Run Code Online (Sandbox Code Playgroud)
?
CSS似乎是放置视觉信息的正确位置.另一方面,很少有人认为图像"src"不应该被指定为属性,并且高度/宽度看起来像二进制图像数据那样与"src"相关联.
(是的,我从技术的,最终用户的角度来看,这无关紧要.)
有没有办法在Rails中缓存每个请求数据?对于给定的Rails/mongrel请求,我有一个半昂贵的操作的结果,我想在该请求中多次访问.是否存在可以存储和访问此类数据的哈希?
它需要相当全局,并且可以从视图,控制器和库中访问,例如Rails.cache和I18n.
如果这就是它需要的话,我可以做一些猴子修补.
在CodeIgniter中,或核心PHP; 是否有相当于Rails的视图部分和模板?
部分会让我在视图中渲染另一个视图片段.我可以有一个共同的navbar.php观点,我可以指向我的homepage.php观点.模板将在一个位置定义HTML页面的整体shell,并让每个视图只填充正文.
我在CodeIgniter文档中找到的最接近的东西是加载多个视图,其中在控制器中按顺序呈现多个视图.在控制器内部控制我的页面的视觉外观似乎很奇怪.(即移动导航栏我的设计师必须编辑控制器).
我一直在寻找堆栈溢出的PHP方法来实现这一目标.我找到了这个页面,它讨论了用ob_start模拟部分.这是CodeIgniter中推荐的方法吗?
当我的JavaScript代码使用AJAX调用ASP.NET MVC方法时,它会传递JSON中的值.例如:
var request = new XMLHttpRequest();
request.open("GET", "http://www.awesome.com/DoSomething?param1=%22some%20string%22¶m2=1234", true); // parameter string created with JSON.stringify
Run Code Online (Sandbox Code Playgroud)
要么
var request = new XMLHttpRequest();
request.open("POST", "http://www.awesome.com/DoSomething", true);
// set some headers
request.send("param1=%22some%20string%22¶m2=1234"); // parameter string created with JSON.stringify
Run Code Online (Sandbox Code Playgroud)
在ASP.NET MVC方面,我有我的方法来处理调用:
public void DoSomething(string param1, string param2) {
Run Code Online (Sandbox Code Playgroud)
糟糕的是param1被引号括起来:
"some string"
Run Code Online (Sandbox Code Playgroud)
更糟糕的是param2是字符串:
1234
Run Code Online (Sandbox Code Playgroud)
当我真的想要将值作为整数时.所以,我要做的第一件事是使用DataContractJsonSerializer来解码这些小狗,所以我的字符串没有引号,我的第二个字符串被转换为int.前一两次也不算太糟糕,但是每个AJAX动作都需要做旧.
理想情况下,拥有如下签名非常棒:
public void DoSomething(string param1, int param2)
Run Code Online (Sandbox Code Playgroud)
我可以直接跳入并使用我的值而不用担心JSON解码,就像非AJAX操作一样.
有没有办法做到这一点?
使用gprof分析我的C++代码,我发现我的大部分时间花在一遍又一遍地调用一个虚拟方法上.该方法本身很短,如果它不是虚拟的,可能会内联.
有什么方法可以加快这一点,而不是将其重写为不是虚拟的?
asp.net-mvc ×1
c++ ×1
codeigniter ×1
css ×1
gprof ×1
html ×1
javascript ×1
json ×1
oop ×1
partials ×1
php ×1