小编Tam*_*Pap的帖子

在javascript中将NaN转换为0

有没有一种方法可以在没有if语句的情况下将NaN值转换为0:

if (isNaN(a)) a = 0;
Run Code Online (Sandbox Code Playgroud)

每次都检查我的变量是非常烦人的.

javascript

218
推荐指数
4
解决办法
16万
查看次数

PHP抽象属性

有没有办法在PHP中定义抽象类属性?

abstract class Foo_Abstract {
    abstract public $tablename;
}

class Foo extends Foo_Abstract {
    //Foo must 'implement' $property
    public $tablename = 'users';   
}
Run Code Online (Sandbox Code Playgroud)

php oop abstract-class

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

window.onpopstate页面加载

我正在玩window.onpopstate,有一件事让我有点恼火:

浏览器倾向于在页面加载时以不同方式处理popstate事件.Chrome和Safari总是在页面加载时发出popstate事件,但Firefox不会.

资源

我测试了它,是的,在Chrome和Safari 5.1+中,popstate事件在页面加载时触发,但不在Firefox或IE10中触发.

问题是,我只想听popstate用户点击后退前进按钮的事件(或者历史记录是通过javascript更改的),但是不想在页面加载上做任何事情.

换句话说,我想区分popstate事件与页面加载与其他popstate事件.

这是我到目前为止尝试过的(我使用的是jQuery):

$(function() {
  console.log('document ready');

  setTimeout(function() {
    window.onpopstate = function(event) {
      // Do something here
    }, 10);
});
Run Code Online (Sandbox Code Playgroud)

基本上我尝试将我的listener函数绑定到popstate足够晚,以便在页面加载时不受限制,只是稍后.

这似乎有效,但是,我不喜欢这个解决方案.我的意思是,我怎么能确定为setTimeout选择的超时足够大,但不是太大(因为我不希望它等待太多).

我希望有一个更智能的解决方案!

javascript jquery html5

36
推荐指数
3
解决办法
6万
查看次数

Javascript:|| 而不是IF声明 - 这是合法的和跨浏览器有效吗?

看起来:

if (typeof a == 'undefined') {
    a = 0;
}
Run Code Online (Sandbox Code Playgroud)

(typeof a != 'undefined') || (a = 0)
Run Code Online (Sandbox Code Playgroud)

在Javascript中具有相同的效果.

我真的很喜欢第二个,因为它很短,一行代码,但这是合法的,跨浏览器有效吗?我的意思是,jslint说它有错误.我应该无忧无虑地使用它吗?

javascript

33
推荐指数
3
解决办法
6160
查看次数

在javascript中"自然地"混合两种颜色

问题:我想在javascript中混合两种颜色,并获得结果颜色.在SO上有很多类似的问题,但我没有发现任何实际上正常工作的问题.我知道混合两种不同颜色的颜料(颜料)和灯会产生非常不同的结果(http://en.wikipedia.org/wiki/Color_mixing).

以下是我已经看到的问题和建议的解决方案,并尝试实施:

1: 混合两个RGB颜色矢量以得到结果
因此,混合RGB中的颜色.我实现了它,在某些情况下它可以在某些情况下使用它没有.

工作示例:redyellow- > 混合orange.大!
http://jsbin.com/afomim/1/edit

不工作的例子:blueyellow- > 混合gray.不太好!:) http://jsbin.com/afomim/5/edit
我知道,在RGB混合blue使用yellow不会让green的,我明白为什么.

我们不会在这里找到答案,让我们继续前进.

2: 像油漆一样添加颜色(颜色)(蓝色+黄色=绿色等)

让我们尝试使用本讨论中建议的CMYK值.混合cyanyellow给出green:
http://jsbin.com/igaveg/1/edit
但混合blue使用yellow的结果black.
http://jsbin.com/igaveg/2/edit - >不工作!

3: 如何将"自然"与C#混合使用?
一个非常相似的问题.最受欢迎的答案建议将颜色转换为LAB,这个解决方案似乎很有希望.
所以我将我的颜色转换为LAB.转换算法是正确的,我测试了它!

http://jsbin.com/oxefox/1/edit

现在我在LAB中有两种颜色,但是如何混合呢?

注:我知道,可能我会找不到一个混合算法中blue使用yellow,并给完美的green,但我希望我能够生成类似于绿色的东西:)

javascript math color-scheme colors

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

Git:提交部分更改

Stack Overflow上存在多个问题,解决了暂存和提交文件中的部分问题.但是,我无法使其发挥作用.

比方说,我们要实现一个虚拟的数学课在PHP(语言无所谓)与像一些基本的方法:add,subtract,multiplydivide.

让我们从类定义开始:

<?php
    class Math {
    }
?>
Run Code Online (Sandbox Code Playgroud)

现在:

$ git add math.php
$ git commit -m "Create Math class."
Run Code Online (Sandbox Code Playgroud)

在下一步,我们实现这两个addsubtract四个方法:

<?php
    class Math {
        public function add($a, $b) {
            return $a + $b;
        }

        public function subtract($a, $b) {
            return $a - $b;
        }
    }
?>
Run Code Online (Sandbox Code Playgroud)

但是现在我们想要在单独的提交中提交addsubtract方法的实现.

这可能吗?

我尝试了什么

$ git add -p

出现以下内容:

在此输入图像描述

我很想将大块头分成小块,所以我按下s,出现以下内容:

在此输入图像描述

似乎git没有把它分成更小的帅哥.

我们现在尝试手动编辑当前的大块头.所以我按:e. …

git

24
推荐指数
2
解决办法
9912
查看次数

使用javascript重新加载CSS样式表

我想通过javascript重新加载html页面中的所有CSS样式表,而无需重新加载页面.

我只需要在开发时反映css更改,而不是一直刷新页面.

一个可能的解决方案是?id=randomnumber使用javascript为css href 添加后缀,但我不想这样做.

我想以某种方式重新加载样式表,而不更改它的url,浏览器将决定是否需要加载该css的新版本(如果服务器响应a 304 - Not modified).

怎么做到这一点?

html javascript css jquery dom

15
推荐指数
2
解决办法
3万
查看次数

OAuth(Facebook,Twitter)和基本登录 - 用户表

我想让用户使用他们的Facebook或Twitter帐户登录我的网站,但如果他们没有,那么注册一个新帐户,并使用我的网站的基本登录.

但是我的用户表应该如何:

我的想法:

  • id(主要,自动增量)
  • 用户名(如果是oauth login => ouath_provider + oauth_id,例如:fb_100001557958700)
  • 密码(由用户选择的密码或在oauth的情况下随机生成的密码)
  • 名称(要显示的名称)

你怎么看?或者我应该有2个表,1个用于基本登录,还有1个用于oauth登录?但那么用户如何拥有独特的ID呢?

提前感谢您的评论.

mysql twitter facebook login oauth

14
推荐指数
1
解决办法
7170
查看次数

有没有办法让跨浏览器的CSS3代码干掉?

当我想在CSS3中创建渐变背景时,我必须这样做:

background-color: #3584ba;
background-image: -webkit-gradient(linear, left top, left bottom, from(#54a0ce), to(#3584ba)); /* Safari 4+, Chrome */
background-image: -webkit-linear-gradient(top, #54a0ce, #3584ba); /* Safari 5.1+, Chrome 10+ */
background-image:    -moz-linear-gradient(top, #54a0ce, #3584ba);  /* FF3.6 */
background-image:      -o-linear-gradient(top, #54a0ce, #3584ba); /* Opera 11.10+ */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#54a0ce', endColorstr='#3584ba'); /* IE */
Run Code Online (Sandbox Code Playgroud)

这真的很烦人.有没有更好的解决方案,例如jQuery插件,这将使我的代码跨浏览器兼容,如果我只是使用:

background-image: -webkit-linear-gradient(top, #54a0ce, #3584ba); /* Safari 5.1+, Chrome 10+ */
Run Code Online (Sandbox Code Playgroud)

例如?有没有工具可以帮助我更轻松地编写CSS3代码?

javascript css css3

13
推荐指数
1
解决办法
809
查看次数

不同PHP mcrypt算法的速度

嗨伙计们.今天我正在测试php mcrypt算法.

我运行一个测试来检查不同的mcrypt algos的速度.

经测试的算法: Cast-128,Gost,Rijndael-128,Twofish,Cast-256,Loki97,Rijndael-192,Saferplus,Blowfish-compat,Des,Rijndael-256,Serpent,Xtea,Blowfish,Rc2,Tripledes.

测试以ECB模式运行(您也可以使用:CBC,CFB,CTR,ECB,NCFB,NOFB,OFB).

我加密了一个简单的字符串:"这是一个测试".以下结果是1000次迭代(结果以秒为单位).

BLOWFISH 0.5217170715332

BLOWFISH COMPAT 0.46304702758789

CAST 128 0.19502091407776

CAST 256 0.28649806976318

DES 0.45267295837402

GOST 0.19383502006531

LOKI97 0.27537798881531

RC2 0.44201898574829

RIJNDAEL 128 0.2560601234436

RIJNDAEL 192 0.33414602279663

RIJNDAEL 256 0.42553782463074

SAFERPLUS 0.32848501205444

SERPENT 0.391037940979

TRIPLEDES 0.65123796463013

TWOFISH 0.27349305152893

XTEA 0.37829685211182

当然,当我们谈论安全性时,处理时间并不是最重要的.我只是想分享我的结果.

你使用什么mcrypt算法和模式,为什么? 我知道这取决于情况,安全级别等,但请举一些例子.

php performance mcrypt

12
推荐指数
1
解决办法
7637
查看次数

标签 统计

javascript ×6

css ×2

jquery ×2

php ×2

abstract-class ×1

color-scheme ×1

colors ×1

css3 ×1

dom ×1

facebook ×1

git ×1

html ×1

html5 ×1

login ×1

math ×1

mcrypt ×1

mysql ×1

oauth ×1

oop ×1

performance ×1

twitter ×1