常用的 JavaScript 检测浏览器为 IE 是哪个版本的代码。包括是否是最人极端厌恶的 ie6 识别与检测。

var isIE=!!window.ActiveXObject;
var isIE6=isIE&&!window.XMLHttpRequest;
var isIE8=isIE&&!!document.documentMode;
var isIE7=isIE&&!isIE6&&!isIE8;
if (isIE){
    if (isIE6){
        alert("ie6");
    }else if (isIE8){
        alert("ie8");
    }else if (isIE7){
        alert("ie7");
    }
}

然后是一个稍微短的 js 判断是否 ie 的方法:
这个貌似是利用 IE 中 JScript所特有的条件编译(或曰条件注释)来区分 IE 和非 IE(这里的IE/非IE均是针对内核而言,以IE为内核的浏览器将视为IE)

var ie = 0/*@cc_on+1@*/;

一个最短的 js 判断 ie 或非 ie 的代码,大小仅仅 7bytes:

var ie = !+'\v1';

2010年1月,一位俄国人利用了IE与标准浏览器在处理数组的toString方法的差异,仅6bytes就完美完成了是否IE浏览器的检测:

var ie = !-[1,];

利用这些发现,我们可以使代码写的更短。如今检测是否为 IE6 其实可以写成:

var ie6=!-[1,]&&!window.XMLHttpRequest;

之前那大段累赘的分析 navigator,然后正则比较的方式,后面的 js 方法是不是效率更高了!

来源:
1. http://biancheng.dnbcw.info/javascript/101495.html
2. http://dean.edwards.name/weblog/2007/03/sniff/
3. http://feilong.org/shortest-ie6-judge-means

只接受转移过来的域名,或者新注册的域名,每个客户每次最多只可以使用三个域名,超出的域名,每个7.99美元。并且只支持信用卡和支票付款。最高可以十年,这个比较给力。

域名优惠码:点击链接后显示

购买链接:点此购买

曲婉婷的歌声很好听。这两首歌也算他的很多专辑中的最好听的两首了。MV也不错呢,分享下。

我的歌声里 Drenched MV 曲婉婷 Wanting下载

我的歌声里为1080P,Drenched 为 720p 。

下载地址:

我的歌声里:http://115.com/file/e71ap3op#我的歌声里 – Wanting 曲婉婷 – 720.mp4

Drenched :http://115.com/file/benkrxop#Drenched – Wanting 曲婉婷 – 1080.mp4

我的歌声里:https://www.box.com/s/dc779e0d65e6a0c139aa

Drenched:https://www.box.com/s/d604404f1b6e54bcea2b

2011年8月, 我第一次到北京。

那时要回美国,坐国航从上海飞洛杉矶,然后再坐美联航从洛杉矶飞印第安纳州。北京是中转站。不巧上海飞北京延误了近6小时,导致我落地北京时已晚上12点,错过后面国际航班,更不要痴心妄想那班美联航了。在上海的时候, 预感到这飞机不是那么好补上的,所以找到国航的值班经理要了张白纸黑字,上面保证国航北京部的人会安排我直飞到印第安纳的飞机。这年头,除了白纸黑字什么都不可信。可惜我还是错了。

到北京机场的时候,国航值班经理的第一句话就是:说难听点,我和你的合同关系就是到洛杉矶,后面你自己看着办。我当时就萌了,看了下美联航隔天飞印第安纳的航班,价格令人发指。我当时悲剧地往我后面望了望,除了一机的美国人,没有什么中国人,天干物燥,不适合吵架。索性卷起袖子,小姑娘怎么了,不能讲个理?结果那人冷冷说,我要下班了,你明早再来找他们吧。于是空荡荡机场就剩我一个人。

第二天我带上了照相机,摄像机,这年头白纸黑字是不够的,需要动态影像。那“慈眉善目”的工作小姐和我磨了5小时,终于把他们的“领导”请来了。于是我的北京印象就停留在那个瞬间:一肥头大耳步出,斜视了一眼有上海国航值班经理签字的纸条,说:“这XXX是谁啊?打个电话问他什么职位,他职位比我大,说能安排航班,我就马上给这女的安排。”我看了眼他垂眉鼠眼,很有出去大街上买把毒鼠强的冲动。

事实是,一. 那三天我哗哗流了“一公升眼泪”(小姑娘一人单枪匹马吵架不容易,为此还总结了几条怎么制造声势的tips)

二. 我对祖国首都的印象低到历史最低。

三. 我匆匆飞回洛杉矶, 美联航给了我三班飞机做选择,不收分文。

我承认以偏概全不对,你在渣时渣分遇到渣事碰见几个渣男,并不代表你踩的地方就是渣地。要能得出这个逻辑,我自己也不好意思混下去。但我更不好意思的是在这号召大家举个手,问问你们每天消化的是什么,是“我们这儿”的空气? 是“我们这儿”的大米牛奶? 是“我们这儿”的水?还是“我们这儿”吃了吐不出葡萄皮的一堆渣?

2012年2月始,我搬到华盛顿,开始在半岛电视台英语频道工作。老实说我也不知道半岛电视台现在在中国的口碑好不好,前段时间把北京社长驱逐出境的事沸沸扬扬。其实私心里,我是希望这“口碑”还是不要太好的好,在中国,但凡被认同吹捧的东西你都要细细想一想。

印象深的事情有几件。

每天早上要pitch story,说白了就拣你认为最重要的需要今天在节目中提到的新闻简报一下。进半岛的时候果然是在最好的时刻同时也是最坏的时候。说是最好是因为几乎天天都有关于中国新闻,那整整一童话王国里出来的天方夜谭啊,一亮出来,美国大选欧洲动乱都不好意思叫新闻。说是最坏是因为我每天必须去挣扎一个立场,去想想究竟要怎样去报道这些新闻,是一个中国人,还是一个新闻人?所幸基本上我都选择了后者,但其实想想,甚是悲哀。

记得有天吃饭时,一个美籍韩裔的和我一起工作的小姑娘问我,这段时间关于中国基本是负面新闻,你报道的时候会不会觉得心里有些不舒服。我很坦然:当然会。当然后来还是补充了一下:其实傻子都知道,国家和Z. F是分开的,甚至在很多时候是对立的。你去批评Z. F 并不等于不爱国。但后来我发现确实有很多傻子不知道,经常气势汹汹劈头盖脸就一句:“你娘再穷也是你娘。你祖国再差还是你的祖国。”我觉得,这是要大大归功于我们的历史教育的。在美国,爱国主义教育告诉美国小孩要爱国,当然那些小孩也知道美国第二修正案公民有持枪权利可在必要时候推翻 Z.F不是白写的。在中国,爱国主义教育告诉中国的花朵们要爱党,而且爱党就是爱国。神逻辑。

在半岛的时候,主要做亚洲区新闻,说是亚洲区,其实90%都被中国给占了。 写报道的时候,每天要提醒自己10遍客观,10遍冷静,但是有9遍都扔爪哇去了。真正有什么事的时候,大家都自觉的去翻英文报纸,多喜剧,以前学英文是为了了解世界,现在学英文却是为了了解中国。有时报道写着写着一股凉意就油然而升,如果这个国家的中文能够自由表达,又有谁愿意去用英文写它的故事。

好吧,扯得有点远了,还是洗洗回到写这篇文章的初衷吧。亲爱的中国,为什么我不敢回来见你,同样,我必须坚声我所说的绝对不能代表很大一部分人。

谁的精英?

人最害怕的是什么,是你骄傲的,你坚持的在你生活的地方一文不值。

在这我也弱弱问一句,有多少人因为发表过“过激”言论被人当愤青就开始埋头于自己小本小行不问世事?有多少人觉得被人说是“理想主义者”是讽刺不是褒奖?有多少人在说“XXX怎么样,又不能当饭吃”时面不红心不跳大义凌然?有多少人觉得活得老实平淡是种窝囊,利本双收才光宗耀祖?有多少人觉得人必然是要适应社会的,变得狡诈虚伪习惯奉承是种谋生手段无可厚非?有多少人觉得谈道德谈信仰谈理想忒俗了些,谈钱才不伤感情?

A君来美国的时候感慨了一下美国的交通,在这里不随意超车,不故意抢道,一场风灾所有交通灯瘫痪了,也无需出动警察,大家自然把有交通灯的地方当成Stop Sign来停。如果是在国内,你这么遵守了,估计10年都爬不出那个路口。这么说不是为了说明素质的差别,只是为了说明一个道理:独抢抢不如众抢抢。你想坚守你自己的,干脆刨个坟,赶早跳进去。

那么海龟们,你在害怕什么呢?

你害怕,你的心本没有那么大,一亩三分田, 云淡风轻,自给自足,你觉得这是好的。结果有天你发现周围偷菜成风,不仅偷菜,还偷水,偷肥,偷地。而最能偷的被捧成了精英,不去偷的被踩成屌丝。于是有一天起床,你也加入了偷菜的大军,而且能偸的绝不用抢的,能抢的绝不用买的,能买的绝不用种的,于是地大了,田多了,却发现种的早不是自己喜欢的蔬菜。

你害怕,在国外,你还有机会凭自己的所学换得好的身家。但回了国,你只能凭好的身家换得一身“所学”。你看着那大官越来越多,大师越来越少,是因为大师都被大师的父母掐死在襁褓里,大官都被一堆人捧在鲜花里。趋利弊害,所以大家的理想都成了当大官,科学家神马的简直弱爆了。

你还害怕,在国外,你可能跃跃欲试去当那只出头鸟,但回了国,你天天躲的是那只打出头鸟的枪。你害怕你在国外学了学术,就是忘了去学权术。老实说,权术这东西世界人民都要学,不过中国的教材是血汗加长升级版,你错过了最好的时光去学它,于是一不留神自己成了反面教材。

而你最害怕的,是你生活的那个国家,没有你心中的标杆,因为你心中的标杆早被人踩在了脚下。而那些被人们竖起来,你虽然不耻,却最终不可避免地去追随。

你害怕,当你回去时,很多已经不习惯了。

互害社会与路西法实验场

听说这样一个事,有一个医生,一天他的诊所里来了一个瘦弱的肠胃病患者,看样子是长期吃坏东西的结果。医生嘱咐他以后多吃青菜少吃肉,患者说他不敢吃,他自己就是种菜的,在湖南承包一大片菜地,都洒了农药,只卖給别人。医生无语,默默开了各种最贵的药和可查可不查的昂贵检查项目。

是从什么时候开始,你想生活的地方,你想回去的地方变成了一个互害社会?而这个地方,又是怎样用不到100年时间,烧了她骄傲的5000年?

USC学生枪杀案发生时, 两名名留学生因为被人射杀在宝马车内,被理所当然认为是官二代富二代,网上一片叫骂都说死有余辜。海龟们很寒心,觉得国人冷血无情,不问是非等等云云。话说回来, 这真的是任何一方都无法责怪的事。老实说,谁不曾温良恭俭让,谁不想散发散发人性的光辉,最后惊世骇俗到这步田地,究竟是什么逼的呢?前段时间看到一个报道,中国和俄罗斯目前成为世界两大新兴富豪最多的大国,中国盛产“隐形富豪”,各高手的资产让美国国会相形见绌,这个时候任谁都会摸摸口袋问问苍天,我的钱都到哪里去了?

斯坦福大学浸巴多教授的路西法监狱实验,惊悚地向世界展示了好人是如何变成恶魔的。在这个实验中,津巴多将一个教学楼改成了监狱,让普通的大学生分成两组,有些扮演人犯(坏人),有些扮演狱警(好人)。当好人们穿上狱警制服,在一种权利的环境中,他们开始习惯于去捍卫自己的正确性, 一旦权威被挑战,便开始对“坏人”进行镇压和羞辱。于是渐渐地,“好人”们开始思考如何剥夺“坏人”更多的权利来实现自己权威的绝对化,他们认为坏人不配思考,不配控诉,甚至不配活着。

现实生活中呢,那些变态的恶行其实并不影响“坏人”是否能成为一个好爸爸,是否是一个好邻居或是你的好朋友。津巴多的实验结果太骇人,至今没有人敢重复。

老实说,这个世界上很多国家都被“路西法”过,纳粹屠杀是,卢旺达屠杀是,美国日本都有过,“我们这儿”现在也是这么个巨大的路西法试验场。权利被极小范围地集中,因此一旦某些人分得一杯羹,便会无条件捍卫。这样的例子不胜枚举,多说无益。

所以,你在害怕什么呢?

你在害怕,也许在这样一个试验场中,你有一天也不可避免地“被坏人”了,而且还“坏人”屁颠屁颠理所当然。这其实真的不难。当你的权利被侵犯的时候,你会想着怎么用手中仅有的去侵犯他人的权利;当你的邻居过得比你好走得比你顺站得比你高时,你会开始盘算怎样让他爬的高摔得惨;当你能昂着头说话时,绝对不会俯下身去听;当他人被围攻时,你操了把刀兴冲冲加入摇旗呐喊;当别人需要卫道士出来时,你也把道德信仰说得天花乱坠冠冕堂皇。殊不知,这年头脱层皮大家都能吼两吼,关键看穿上那层皮你是什么。

你在害怕回去了,那地方再容不下一个好人的思维。

也许今天的这些说得有些重了,谁不希望天朗气清惠风和畅祖国一片欣欣向荣大伙都兴高采烈生活在希望的田野上。也希望大家看完以后不要把问题简单归结到什么素质不素质的上,这个世界,从来没有一个地方的民众素质比另一个地方的民众素质更适合或更不适合“一个更为先进的社会制度”。好的制度熏陶出好的素养,可惜我们总是做着本末倒置的事 。最后就用龙应台为台湾Min Zhu辩护的一段话来结束吧:

民主,就是手上有一本护照,随时可以出国,不怕政府刁难;民主就是养了孩子知道他们可以凭自己本事上大学,不需要有特权;民主就是发表了任何意见不怕有人秋后算账;民主就是权利被侵犯的时候可以理直气壮地讨回,不管你是什么阶级什么身份;民主就是,不必效忠任何党,不必讨好任何人,也可以堂堂正正地过日子;民主就是到处有书店,没有任何禁书,而且读书人写书人到处都是;民主就是打开电视不必忍受主播道德凛然地说谎;民主就是不必不必为了保护孩子而训练他从小习惯谎言;民主就是享受各种自由且知道那自由不会突然被拿走,因为它不是赐予的……民主并非只是选举投票,它是生活方式,是思维方式,是你每天呼吸的空气,举手投足的修养,个人回转的空间。

REGISTER.COM 2.5美元域名优惠码

【优惠信息】新用户注册.com, .net, .org, .biz, .info, and .us仅需2.5美元首年!每个用户可以注册三个!如果想以2.5美元首年价格购买2个或者三个域名,请在第一次购买时添加到购物车!因为第一次购买之后,就不算是新用户了。

【截止时间】未知

【支付方式】信用卡或paypal都可以(paypal最好经过信用卡验证)

【优 惠 码】Reg250tj

注意:建议需要使用本优惠码在register.com注册域名的朋友使用真实姓名注册,付款信息和注册信息也要一样。不然很容易被register.com退款并删除注册的域名的!在register.com注册域名付款成功后,register.com还需要进行审核,才决定域名是否通过注册的!

via:http://www.lanc.me/domainpromotion/1761.html

目前为止,我们的例子中提到过很多次 this 以及函数了。例如 Function.prototype.apply 和 Function.prototype.call 他们都有各自的优势,但是,在讨论这门语言的其他方面之前,先来看看 this 关键字和执行上下文。

方法和函数

方法在ECMAScript规范中被定义如下:

……函数是属性的值。

注:当一个函数被当做对象的方法调用的时候,此时,函数的值就会被当做对象的值。

当被当做对象的方法调用的时候,也可以将函数当做单独的子程序,这在社区中,也是被普遍使用的。

执行上下文(Execution Context)

ECMAScript 5.1 规定,执行中的程序形成执行上下文。此执行上下文支持此语言的某些结构,而这些结构就是需要管理的范围–来自于其他部分的可见变量和函数声明。

此执行上下文包含一个引用到各种可用状态元素的处于当前逻辑范围内的被管理的程序。更多详细信息,请访问 执行上下文

全局上下文和构造函数 (this)

运行下面的代码:

function add(x, y) {
  console.log(this);
  return x + y;
}

add(1, 1);

第二行代码将会是一个全局变脸被现实:window ,但是,如果在第一行之后增加 use strict 的话,将会返回 undefined .

现在思考一下,当构造函数被执行的时候,发生了神马?

当作为 new Shape() 的结果,进入 Shape 构造函数的时候,this 的值就会使当前对象,也就是此处的 shape 。请记住下面的话,如果想写面向对象的程序的话:如果一个函数被作为一个对象的方法调用,或者使用 new 关键字,此时, this 的值就是对象的当前实例,否则就是全局上下文 window 或者 undefined 。但是此处要讨论的是,this 的值,取决于如何调用函数。

一般可能犯得错误

小心的对待嵌套在方法中的函数,例如下面的例子:

function Shape() {
  this.x = 0;
  this.y = 0;
}

Shape.prototype = {
  move: function(x, y) {
    this.x += x;
    this.y += y;

    function checkBounds() {
      if (this.x > 100) {
        console.error('Warning: Shape out of bounds');
      }
    }

    checkBounds();
  }
};

var shape = new Shape();
shape.move(101, 1);

checkBounds 函数被定义在 move 方法内部,但是 console.error 此行代码,却永远不会被运行到,这是因为 checkBounds 函数中的 this 的值是全局上下文 window 而不是此处的 shape。因为虽然函数在 move 方法内部,但执行函数的时候,函数是单独的子程序,所以 this 还是指向 window。而 window.x 没有定义,所以永远执行不到。但是此时就可能混淆,所以带来错误。

但是,我们可以将 this 赋值给其他变量,从而可以正常使用。请注意有 self 的两行代码。如何修改的。

function Shape() {
  this.x = 0;
  this.y = 0;
}

Shape.prototype = {
  move: function(x, y) {

    var self = this;

    this.x += x;
    this.y += y;

    function checkBounds() {
      if (self.x > 100) {
        console.error('Warning: Shape out of bounds');
      }
    }

    checkBounds();
  }
};

var shape = new Shape();
shape.move(101, 1);

现在,当执行 move 方法的时候,self 代替了 this,从而可以正常的执行了。

总结

使用 this 的时候,请记住以下三点:

1. 取决于函数被以何种方式调用,new MyConstructor 和 myObject.method() 将被指向其实例,而当 this 在函数中的话,将会指向 window 。
2. 严格模式下,this 将会是 undefined 而不是 window 。
3. this 可以赋值给任意合法变量,但是一般 self 用的比较多。