我在map和foreach中看到的唯一区别map是返回一个数组而forEach不是.但是,我甚至不理解方法的最后一行forEach" func.call(scope, this[i], i, this);".例如,是不是" this"和" scope"指的是同一个对象而不是this[i]并且i指的是循环中的当前值?
我在另一篇文章中注意到有人说" forEach当你想根据列表的每个元素做某事时使用.例如,你可能会在页面上添加内容.基本上,它非常适合你想要的"副作用".我不知道副作用是什么意思.
Array.prototype.map = function(fnc) {
var a = new Array(this.length);
for (var i = 0; i < this.length; i++) {
a[i] = fnc(this[i]);
}
return a;
}
Array.prototype.forEach = function(func, scope) {
scope = scope || this;
for (var i = 0, l = this.length; i < l; i++) {
func.call(scope, this[i], i, this);
}
}
Run Code Online (Sandbox Code Playgroud)
最后,这些方法在javascript中是否有任何实际用途(因为我们不更新数据库),除了操纵这样的数字:
alert([1,2,3,4].map(function(x){ …Run Code Online (Sandbox Code Playgroud) 我跑了"git add".然后"git commit -m'project files'",回复了这个:
[master (root-commit) ca52fe0] project files
981 files changed, 257939 insertions(+), 0 deletions(-)
create mode 100644 index.php
create mode 100644 license.txt
create mode 100644 readme.html
create mode 100644 wp-activate.php
...
Run Code Online (Sandbox Code Playgroud)但我看看回购和我的"我的项目文件"提交不存在.那么我运行git pull并得到了这个:
You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me, either. Please …Run Code Online (Sandbox Code Playgroud) 我正在读一本名为JavaScript模式的书,但有一部分我觉得这个人很困惑.
这个家伙实际上在书中引出了klass设计模式,在那里他逐一开发了它.他首先提出了这个问题:
function inherit(C, P) {
C.prototype = P.prototype;
}
Run Code Online (Sandbox Code Playgroud)
他说:
"这为您提供了简短快速的原型链查找,因为所有对象实际上共享相同的原型.但这也是一个回顾,因为如果继承链中的某个子项或孙子修改原型,它会影响所有父母和祖父母."
但是,我实际上试图在Child中修改原型say()并且它对Parent没有影响,实际上Child仍指向Parent并且完全忽略了它自己的同名原型,这是有意义的,因为它指向不同的内存位置.那家伙怎么能这样说呢?以下证明了我的观点:
function Parent(){}
Parent.prototype.say = function () {
return 20;
};
function Child(){
}
Child.prototype.say = function () {
return 10;
};
inherit(Child, Parent);
function inherit(C, P) {
C.prototype = P.prototype;
}
var parent = new Parent();
var child = new Child();
var child2 = new Child()
alert(child.say(); //20
alert(parent.say()); //20
alert(child2.say()); //20
Run Code Online (Sandbox Code Playgroud)
任何孩子或孙子都不可能修改原型!
这导致了我的第二点.他说,在继承链(我无法重现)中意外修改父原型的可能性问题的解决方案是打破父母和孩子原型之间的直接联系,同时从原型链中受益.他提供以下解决方案:
function inherit(C, P) {
var F = function () {};
F.prototype = P.prototype; …Run Code Online (Sandbox Code Playgroud) 好吧这没有意义.我可以向模型添加错误,但是当我调用有效时?还是保存!它删除了我添加的错误.但是,常规验证将阻止模型被保存.为什么不是errors.add工作?
1.9.3p0 :001 > @order = Order.new(email: 'some@email.com')
=> #<Order id: nil, name: nil, address: nil, email: "some@email.com", pay_type: nil, created_at: nil, updated_at: nil, paypal_customer_token: nil, paypal_recurring_profile_token: nil, first_name: nil, last_name: nil, account_details: {}, unit_id_for_plan: nil, invoice: nil, purchased_at: nil>
1.9.3p0 :002 > @order.valid?
=> true
1.9.3p0 :003 > @order.errors.add :base, 'error'
=> ["error"]
1.9.3p0 :004 > @order.errors.size
=> 1
1.9.3p0 :005 > @order.valid?
=> true
1.9.3p0 :006 > @order.errors.size
=> 0
1.9.3p0 :007 > @order.errors.add :base, 'error_again'
=> ["error_again"] …Run Code Online (Sandbox Code Playgroud) 在Firefox中我突然从firebug得到这条消息:
$('a.close, #fade').live is not a function
Run Code Online (Sandbox Code Playgroud)
的确,当我点击图库和弹出窗口时.我无法摆脱它.由于此错误消息,click事件从未注册.
这是脚本:
$('a.poplight[href^=#]').click(function() {
var popID = $(this).attr('rel');
var popURL = $(this).attr('href');
var query= popURL.split('?');
var dim= query[1].split('&');
var popWidth = dim[0].split('=')[1];
//Fade in the Popup and add close button
var div_popup = document.createElement('div');
div_popup.setAttribute('id',popID);
div_popup.setAttribute('class','popup_block');
document.body.appendChild(div_popup);
$(div_popup).fadeIn().css({ 'width': Number( popWidth ) }).prepend('<a href="#" class="close"><img src="close_pop.png" class="btn_close" title="Close Window" alt="Close" /></a> <a href="thumbBg' + $(this).attr('rel').substring($(this).attr('rel').lastIndexOf('p') + 1,$(this).attr('rel').length) + '"></a><p>The Human Diet: By Rene Endara</p>');
var popMargTop = ($('#' + popID).height() + 80) / …Run Code Online (Sandbox Code Playgroud) 不确定下划线(student_state)和tableize(student_states)之间的差异,除了tableize之外也是多元化的.但是,不确定如何以不同方式使用它们.显然,您可以使用tableize来引用数据库中的表名.但是下划线提供了哪些不同的功能,例如当你看到:student_state与:student_states相比时用作符号.谢谢你的建议.
我正在尝试禁用选择标记.填充我们的非数据库属性而不是整数数组的选项,所以collection_select似乎在这种情况下不起作用.
技术1:
select_tag(:zev_qty, options_for_select(display_quantity(@order_subject_supplies_request.site), {:disabled => display_quantity(@order_subject_supplies_request.site)}))
def display_quantity(site)
if site
site.open_site? ? [[0,0],[1,1],[2,2]] : [[0,0],[1,1]]
else
[]
end
end
Run Code Online (Sandbox Code Playgroud)
以上不是我想要的.它禁用选项而不是select标签.
技术2:
f.select(:zev_qty, display_quantity(@order_subject_supplies_request.site), {:disabled => true})
def display_quantity(site)
if site
site.open_site? ? [0,1,2] : [0,1]
else
[]
end
end
Run Code Online (Sandbox Code Playgroud)
以上不起作用.没有禁用任何选项.
虽然在两种情况下都会在下拉列表中显示正确的值,但是未禁用select标记,并注意在此示例中,我只是将disabled设置为true,但我当然会有条件地禁用select标记.
Android设备仅显示地图图块.似乎被广泛报道.我按照这个链接的说明:
https://developers.google.com/maps/documentation/android/start
Run Code Online (Sandbox Code Playgroud)
我做了以下事情:
1)在Eclipse中,我签署了发布模式.我选择文件>导出.选择导出Android应用程序,然后单击下一步.创建了一个新的密钥库.然后上传apk到谷歌播放.
2)Android应用程序在设备上工作,但地图没有显示.它只显示了瓷砖.
3)所以我按照上面链接中的说明操作.
4)我找到了我在上面创建的密钥库文件.我的密钥库名为ziggy.keystore,别名为ziggy密钥库.
5)我在Mac OSX的终端上运行了这个:
keytool -list -v -keystore ziggy.keystore -alias ziggy\ keystroke
Run Code Online (Sandbox Code Playgroud)
6)上面的命令产生的输出包括一行包含证书的SHA-1指纹.指纹是由冒号分隔的20个两位十六进制数字的序列.
7)现在我有了签名证书指纹,我在Google API控制台中为该应用程序创建了一个项目.在浏览器中,我导航到https://code.google.com/apis/console/
8)我点击了Create Project.我把它命名为API项目.我在主窗口中看到了API和服务列表.
9)我向下滚动,直到看到Google Maps Android API v2.在条目的右侧,我单击了开关指示器,使其处于打开状态.我同意服务条款并点击接受.
10)在左侧导航栏中,我单击了API Access.在结果页面中,我单击了Create New Android Key.在结果对话框中,我输入了SHA-1指纹,然后是分号,然后输入了应用程序的包名称.
11)我复制了API密钥.我打开了我的应用程序的清单,包含在AndroidManifest.xml文件中.并通过在结束标记之前插入以下元素作为元素的子元素:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="your_api_key"/>
Run Code Online (Sandbox Code Playgroud)
*请注意,我使用了真正的api密钥.
12)我也添加了这个:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<permission
android:name="com.otl.AndroidRemoteApp1.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.otl.AndroidRemoteApp1.permission.MAPS_RECEIVE"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
Run Code Online (Sandbox Code Playgroud)
13)然后在我的ShowMapActivity.java中:
super.onCreate(savedInstanceState);
setContentView(R.layout.show_map);
mapView = (MapView) findViewById(R.id.mapview);
myMapController = mapView.getController();
mapView.setBuiltInZoomControls(true);
Drawable marker=getResources().getDrawable(android.R.drawable.star_big_on);
...
Run Code Online (Sandbox Code Playgroud)
14)然后在我的show_map.xml文件中:
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:state_enabled="true"
android:apiKey="my_api_key" …Run Code Online (Sandbox Code Playgroud) rails网站运行速度很慢,我不得不重新启动操作系统,但是在重新启动ubuntu后仅1小时,系统再次出现了令人难以置信的缓慢,所以我检查了乘客内存统计信息:
------ Passenger processes ------
PID VMSize Private Name
---------------------------------
1076 215.8 MB 0.3 MB PassengerWatchdog
1085 2022.3 MB 4.4 MB PassengerHelperAgent
1089 109.4 MB 6.4 MB Passenger spawn server
1093 159.2 MB 0.8 MB PassengerLoggingAgent
1883 398.1 MB 110.1 MB Rack: /home/guarddog/public_html/guarddog.com/current
1906 1174.6 MB 885.9 MB Rack: /home/guarddog/public_html/guarddog.com/current
3648 370.1 MB 131.9 MB Rack: /home/guarddog/public_html/guarddog.com/current
14830 370.6 MB 83.0 MB Rack: /home/guarddog/public_html/guarddog.com/current
15124 401.2 MB 113.9 MB Rack: /home/guarddog/public_html/guarddog.com/current
15239 413.5 MB 127.7 MB Rack: /home/guarddog/public_html/guarddog.com/current
15277 400.5 …Run Code Online (Sandbox Code Playgroud) 复位8051微控制器后,所有端口引脚锁存器的值都设置为"1".现在我正在阅读这本书"嵌入式C",它说明了以下代码的thr问题,它可以让开发人员陷入虚假的安全感:
// Assume nothing written to port since reset
// – DANGEROUS!!!
Port_data = P1;
Run Code Online (Sandbox Code Playgroud)
如果以后某人修改程序以包含写入全部或部分同一端口的例程,则此代码通常不会按要求工作:
unsigned char Port_data;
P1 = 0x00;
. . .
// Assumes nothing written to port since reset
// – WON’T WORK BECAUSE SOMETHING WAS WRITTEN TO PORT ON RESET
Port_data = P1;
Run Code Online (Sandbox Code Playgroud)
任何有嵌入式c知识的人都可以向我解释为什么这段代码不起作用?它只是将0赋值给char变量.
javascript ×3
prototype ×2
android ×1
arrays ×1
c ×1
chaining ×1
dictionary ×1
embedded ×1
foreach ×1
form-helpers ×1
function ×1
git ×1
github ×1
google-maps ×1
inheritance ×1
jquery ×1
memory-leaks ×1
passenger ×1
popup ×1
reference ×1