小编Joh*_*ino的帖子

javascript forEach方法有什么用(地图不能做)?

我在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)

javascript arrays foreach dictionary prototype

89
推荐指数
4
解决办法
3万
查看次数

提交没有出现在github上

  • 我在github上创建了一个新的存储库.
  • 我选择了添加README.md的其中一个选项.
  • 然后我在硬盘上插入项目.
  • 我在/Users/myusername/github/myproject/.git/中运行了git init:初始化的空Git存储库
  • 我跑了"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 remote add origin https://github.com/myusername/myproject.git "
  • 然后我跑了"git push origin master"
  • 然后我运行了"git status",没有任何提交

但我看看回购和我的"我的项目文件"提交不存在.那么我运行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)

git github

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

JavaScript中的原型链接

我正在读一本名为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)

javascript inheritance prototype reference chaining

8
推荐指数
1
解决办法
2203
查看次数

向rails中的模型添加错误无效

好吧这没有意义.我可以向模型添加错误,但是当我调用有效时?还是保存!它删除了我添加的错误.但是,常规验证将阻止模型被保存.为什么不是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)

error-handling ruby-on-rails

8
推荐指数
1
解决办法
5131
查看次数

$().live不是函数 - JavaScript/jQuery

在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)

javascript jquery function popup

7
推荐指数
2
解决办法
4万
查看次数

rails中tableize和underscore之间的区别

不确定下划线(student_state)和tableize(student_states)之间的差异,除了tableize之外也是多元化的.但是,不确定如何以不同方式使用它们.显然,您可以使用tableize来引用数据库中的表名.但是下划线提供了哪些不同的功能,例如当你看到:student_state与:student_states相比时用作符号.谢谢你的建议.

ruby-on-rails

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

rails - 禁用选择标记

我正在尝试禁用选择标记.填充我们的非数据库属性而不是整数数组的选项,所以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标记.

ruby-on-rails form-helpers

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

谷歌地图没有在Android设备上显示

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)

android google-maps

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

rails和phusion乘客的内存泄漏问题

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)

memory-leaks ruby-on-rails passenger

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

嵌入式c和8051微控制器

复位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变量.

c embedded

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