一个店铺两个门口怎么在销售时顾客说考虑考虑怎么办进来时做分流

在零售O2O兴起的年代实体店症结突显并濒临倒闭,主要原因在于自我认识、商品、差异性、营销等方面的不足与落后从门店地位、调整品类、智能改造、销售时顾客说栲虑考虑怎么办传播、员工管理等方面去优化门店核心竞争力或许有助于实体店发展。

一方面是传统实体店纷纷关张一方面又是互联网O2O實体店跑马圈地,同样的店为何差别这么大呢?互联网让用户销售习惯发生了很大的改变在诸如O2O等的模式的冲击下原先的线下实体店夶都已仅仅变成体验店了,所以店还是一样的店但玩法完全二样,不跟上趋势不死才怪!不过可喜的是移动互联网来了完美的实现了線上线下营销闭环,简便、成本低对于传统实体店来说真是福音啊,这个机会再不抓住那么只有倒闭了!

如果不站在销售时顾客说考慮考虑怎么办角度,重新认真构筑我们以销售时顾客说考虑考虑怎么办需求为导向的零售商业本质重新审视门店存在的各种内在缺陷和鈈足,在互联网时代我们将把实体店带入穷途末路。

一、实体店生意难做有“六大症结”

1、只看人家怎么做不考虑我是谁

中国人有一個习惯,即喜欢看别人怎么在做近几年行业门店的装修和布局高度“神似”,就是这个原因

我们近10年来天天倡导和强调:每个门店要鉯商圈的销售时顾客说考虑考虑怎么办需求为导向!店的销售时顾客说考虑考虑怎么办是谁?他们的消费习惯和购买偏好怎样销售时顾愙说考虑考虑怎么办每次客单的结构和返店周期是怎样的?等等这些都需要了解,而不是老是去看别人的店怎么整

你们有看过屈臣氏烸个门店的装修是一样的吗?是不是与其他店铺与众不同我们很多本土的零售店,其实都还处于摸着石头过河的阶段所以不要老看别囚怎么做,自己就怎么做最后迷失了自我。

2、只考虑自己想卖什么样的商品不考虑销售时顾客说考虑考虑怎么办是谁

我相信大部分零售店都有一个共同点,就是不管是谁进店都只想推自己最想卖的商品。

为什么呢当然是因为只考虑自己的利益。这也是门店目前最严偅的误区和症结!特别是今年以来零售店面临的经营成本压力比较大,这种只想卖自己最想推的商品的现象有变本加厉之势

只考虑自巳,不考虑销售时顾客说考虑考虑怎么办的感受更忽略和不尊重销售时顾客说考虑考虑怎么办的真实需求,这种单向式的经营思想你認为还能走多远呢?

3、只考虑客单价不考虑提篮数

什么叫客单价和提篮数?如果你的平均客单价是50元那这个客单里面是一两个商品,還是三个以上的商品意义完全是不一样的。

客单价越高提篮数越低,意味着有利润、有客单的产品销售占比过高能培养人气的商品囷基础品类占比过低,也说明店员都在主推她们想卖的商品

客单价越低,提篮数越高则表示人气商品和热卖品类占比更高。当然目湔大部分零售店存在的问题都是前者。

4、只考虑商品的毛利率不考虑商品的“流转率”

有些名品或容易热卖的人气商品,可能毛利很低但流转率高。

以白酒为例假如它是10个点的毛利(低的要死人),是不是毛利空间就很小但如果说它每个月可流转1次,一年可流转12次以本金10000元为例计算,也就意味着一个月可以挣1000元的毛利一年下来周转十二次,就产生了毛利12000元那它的年毛利就是120%了!

同时,更重要嘚是这10000元一年周转十二次,还意味着为你带来了大量的关注、消费名品的主流客流和人气另外,我们自己有利润的一些产品一定要敢于拿出毛利空间来做活动,以提高它的周转速度和商品流转率

可是,现实经营过程中实体店在这个方面却只认死理。因此品类结構不合理,坪效更无从谈起

5、只考虑促销方法,不考虑实体店的“进店率”

现在竞争越来越激烈于是很多店主天天琢磨,看对方怎么莋活动自己也怎么做却忽略了做活动是为了提高门店的进店率。

如果零售店所在的商圈普遍缺乏人气进店率不足,如果活动都是为了提高成交率和销售业绩而没有考虑去提升销售时顾客说考虑考虑怎么办进店率,那么即使有再丰富的销售技巧和活动打折没有销售时顧客说考虑考虑怎么办进店,成交又靠什么实现呢

6、自我麻痹,用同行生意的冷淡来安慰自己

阿Q精神今年大环境不是很好,所以很多囚就先看看对面的店也偶尔出去看看其他地区的店,发现人家生意好像也不是那么好心里就踏实了,晚上睡觉就觉得很安稳了!

二、錯误思维带来的巨大困境

以上这六大错误的习惯性思维给我们的实体店朋友带来了巨大困境:

就是天天改来改去,学来学去越学越迷糊。而在销售时顾客说考虑考虑怎么办看来你的店跟其他店其实没什么区别,甚至装修和货架都差不多因为是同一个制作柜台的广告公司不会差异化,只关注高大上

为什么同样是父母生的几个兄弟姐妹,每个人都不一样呢因为人人都有自己的个性,所以大家店的外在形象、内在结构及经营方式,做自己就好了水平高的,就做好一点水平不高的,就做实在一点

2、万变不离其宗的“营销宝典”

主要特征是天天打特价、天天免费送,最后的结果是天天低毛利、亏本销售时顾客说考虑考虑怎么办最后会习惯你的卑微!现在行业有個很有趣的现象,今天销售时顾客说考虑考虑怎么办在这个门店领免费派送礼品明天又跑去其他店领礼品。这些现象内在的本质都应該引起我们的思考。(如何抓住、拴住真正的消费者)

三、优化门店核心竞争力

总之“互联网思维”要能够灌输渗透到实体店内,其中朂重要也最核心的就是以取悦和迎合销售时顾客说考虑考虑怎么办为导向,注重跟销售时顾客说考虑考虑怎么办的“互动”并结合互聯网技术,将实体店逐渐优化改造成“数字店铺”

1、门店定位:零售店的“三大要素”

跟电商比较。我们要善于发挥实体店“体验”和“服务”的优势对实体店的重新定位,在“卖好的”的商品基础上主要是做到和坚守三大要素:一是专业,一是体验一是服务!

在未来,我们实体店要生存就要用互联网思维优化我们自身,以“专业、体验、服务”作为我们的核心基因并以此提高实体店跟医院和電商分流销售时顾客说考虑考虑怎么办、共享市场的能力!

2、调整品类:体现专业和时尚

现在零食店如何通过品类和陈列,来实现与其他渠道的区分呢

这就要在中岛区、门店门口通道、收银台对面和附近多一些能体现时尚、潮流的品类,因为现在85后跟90后已经成为消费的主偠群体这些时尚品类的适当导入和陈列,不仅能吸引一些年轻人进店还能体现门店跟其他渠道的本质不同:更时尚、更专业!

3、智能妀造:数字店铺是未来趋势

互联网改变时代,也同样将改变我们的商业店铺和运营模式

移动互联网的快速普及和智能手机的大量应用,為移动互联网端的用户与我们线下实体店的整合带来了巨大的产业机会甚至可以说,实体店对移动互联网销售时顾客说考虑考虑怎么办嘚成功整合将对PC互联网的电商造成很大冲击

未来,店的终极模式就是要借助移动互联网的东风,将实体店逐渐优化成“实体+智能”于┅体的“数字店铺”最终实现以移动互联网为主的线上线下的全渠道O2O商业模式。

我们过去教大家装修的商业模式的规划布局都是实体店版本,现在则必须要优化实体店的一些店内装修道具使其成为“数字化店铺”。

比如在门店合适位置,加上跟互联网无缝链接的数芓货架、智能电视、数字橱窗用于点击即可播放的产品使用示范和品牌宣传,并借助免费WiFi和会员接入等通过移动手机客户端APP、网店、微店,以及微信、陌陌等社交媒体平台实现线上线下对销售时顾客说考虑考虑怎么办24小时“随时、随地、随心”的无缝链接。

4、销售时顧客说考虑考虑怎么办传播:建立互联网自媒体平台

门店要成功实现“数字店铺”的营销推广就要重视建立自己的自媒体平台,将上面提到的各种社交媒体组合成一个自身的互联网自媒体推广、宣传平台,实现对商圈和销售时顾客说考虑考虑怎么办的低成本精准营销、夶范围拓客和集客及互动式会员管理

5、员工管理:让员工参与进来

俗话说:后台你怎么对待员工,前台员工就会怎么对待销售时顾客说栲虑考虑怎么办!

现在零售店的用工对象基本都是以90后为主的新生代群体,这一代人讨厌“说教式”的家长化管理不喜欢死板和单一嘚工作,缺乏60后、70后的吃苦耐劳精神即使采用工资激励方式,效果也不如上一代员工

但90后的员工有自己独立的审美,喜欢以自我为中惢对潮和时尚的感知能力更敏锐,表现力更有个性对于营造门店的时尚和个性化,其实比60后、70后员工更具有优势也更善于用互联网噺工具与别人沟通,与销售时顾客说考虑考虑怎么办互动

所以,我们在管理方面要善于整合这一代人的优势,让她们参与进来采用“互动式”目标和绩效管理,构筑一个执行有力、同时也是快乐工作的年轻团队!

有了这样的管理和团队作保障销售时顾客说考虑考虑怎么办和门店之间才能实现互相欣赏,互相喜欢;而门店对销售时顾客说考虑考虑怎么办也才能起到精神引领的作用!

1、什么条件下listing会有秒杀推荐

2、伱怎么做送测?留评率控制在什么程度安全测评需要注意什么?

3、如果做站外推广用什么样的链接比较安全?

4、关键词如何上首页

5、一个UPC能够创建几个listing,如果多次创建会有什么后果

6、Promotion 与 Coupon有什么区别,对曝光和转化各带来什么影响

8、有哪些方法可以删差评?

9、有哪些方法和渠道可以赶跟卖

10、新品扶持期有多久

11、发FBA的标签填错了,你有哪些办法可以补救

12、订单管理工具、选品分析工具,竞争对手汾析工具广告分析工具你都用过哪些,各有什么特点

13、有哪些情况需要申诉?

14、你是如何分析广告报表的如何降低Acos?

15、哪些情况会導致购物车丢失

16、广告被人攻击了怎么办?

(2)直接找工具转换链接可以做到不同人点进来时间戳随机变换。

4、关键词如何上首页

亞马逊首页搜索框推荐的关键词

④避免出现#1 、best 、best-selling(这些是亚马逊政策不允许的)

⑤重要信息放在标题前面(权重从左到右递减)

标题的前7-8個单词,尽量展示产品的主要关键词核心卖点和功能,这是因为在手机端显示产品信息时标题一般会截断,只显示部分字符

比如:1僦不要写出one,直接用1表示就ok 了

图片的要求等就不再啰嗦,亚马逊和群文件都有专门讲解

研究表明:相比于文字而言,我们的大脑更擅長于处理图片信息一般来说,大脑处理图片信息比文字要快60000倍!

如果你的图片足够吸引眼球为客户留下非常好的第一印象,那么他就囿可能在最短的时间内为你的产品买单!

关于图片的优化和表达建议:

对于图片处理亚马逊平台有明确规定,更多细节请参考亚马逊官方网站:

注意:为了保证亚马逊平台整体风格的统一性,所有商品的主图一定需要纯白色背景且不得显示不包含的配件、可能令买家產生困惑的支撑物、不属于商品一部分的文字或徽标/水印/嵌入图片。

图片尽量是实际产品找专业拍摄人员拍摄或者PS尽量不要使用下载的圖片或者拍照像素达不到要求的图片。术业有专攻专业的事情让专业的人做,不要因为花费高就滥竽充数。

图片的高或宽度至少在1000px以仩这样才会触发亚马逊前台图像的缩放功能,用户只要将鼠标移到图片上就可以看到更加清晰的细节图,让销售时顾客说考虑考虑怎麼办更加全面的了解产品

亚马逊前台最多可展示7张图片,怎么好好利用这七张图片大家可以从主图、场景图、功能图、细节图、尺寸圖、配件图入手,多个维度向客户展示产品

因为图片质量对产品点击率和转化率的影响真的是非常大,对于有资金预算的卖家而言可鉯考虑花重金打造图片。

专业的事交给专业的团队现在大家应该很明显的感觉到,很多卖家都在图片上大做文章那种传统的拍照片,修图的模式开始慢慢被建模渲染所替代

有质感、主题明确的图片,给人一种wow的感觉它在无形之中也提升了客户对产品以及品牌的好感喥。

另外值得大家注意的一点是:在把图片交给第三方负责时,一定要向对方明确每张图你想要表达的主题你最想展示产品的什么特征等等,因为只有你自己才真正了解产品

另外,如果你实在因为资金有限不想找第三方,那么你可以尝试自己拍摄图片做后期处理,网上的教程也非常多可以拿来参考。

推荐一款快速移除背景图片(白底图片制作):

这款工具对于新手而言是比较好操作的,分分鍾去掉图片底色!

五点描述是进一步展示产品功能和优势的地方其在整个listing中的权重仅次于标题。

买家根据标题中的关键字在亚马逊上找箌了你的产品 被产品主图吸引,进入产品Listing详情页现在买家需要进一步了解产品的功能与特色,五点就是来解决买家的这些问题

如何寫好五点,可以从以下方面考虑:

①明确产品的核心特点与优势:

假设你自己就是一个潜在的买家那你首先要问一问自己:你最需要了解产品的哪些方面?你为什么要买这个产品你为什么要选择这个产品,而不是其它同类的产品

通过换位思考的方式,以及对产品特性嘚了解将最核心、最亮眼、最受消费者关注的特点写出来,打动销售时顾客说考虑考虑怎么办

客户在真正确定要购买这款产品的时候肯定仍会有很多的疑问,我们必须要考虑到客户所有存疑的地方在五点描述中为客户去解决,一步一步证明:客户选择你的产品是没错嘚!

③说明具体的解决方案:

如果你的产品为客户解决了一些实实在在的痛点那不妨在五点中具体描述:这款产品是通过什么的方式为愙户解决了什么样的问题,最终会达到一种怎样的效果.

这样直观的表达很容易击中客户的内心让他们从心底里觉得:这就是我要找的产品!

④完善售后服务及***说明:

关于产品的所有售后保证问题需要在五点中特别强调:“如有任何问题,请与我们直接联系”

说这句話其实就是引导消费者,遇到任何产品相关的问题时不要直接向亚马逊反馈,而是可以通过联系卖家解决这样可以有效控制客户的投訴率,将店铺绩效稳定在一个比较良好的水平

⑤按重要性进行位置排序:

五点描述有五段,全程看下来还是需要点时间和耐心但是客戶在实际购物场景中,一般都比较匆忙很多信息都是一扫而过,或者只看开头几行重要信息

那我们在布局bullet point的时候,有必要按照重要性對每一条信息进行排序最重要的信息放在第一段,以此类推让用户在浏览过程中第一时间抓住最关键的点。

产品描述最多可允许2000个字苻所以在这个板块,你可以写更多的信息甚至在这里可以讲一些跟产品相关的小故事,运用你的写作技巧吸引销售时顾客说考虑考慮怎么办。如果有产品品牌备案有做A+页面的权限,那么就更要好好利用

①详细描写功能、优势:

在这里你可以大篇幅的向客户具体阐述:你的产品是如何有效提高他们的生活质量的,要让客户看到你的描述后确实认为这就是他们要的产品。

大部分卖家在描述中喜欢罗列一大串技术指标语言非常生硬,名词也晦涩难懂对专有词汇不了解的买家可能看都不看就跳转到其它页面了。

其实我们可以改变一丅策略考虑用讲故事的方式讲述产品优于其它产品的地方,将主要的产品功能展现出来让客户置身于产品体验的场景中,增加代入感

尽量用简单的语言,短句及比较短的段落让买家轻轻松松浏览描述内容。

另外亚马逊允许在产品描述中使用基本的HTML格式,主要包括:

HTML文本增加了描述描述部分的壳阅读性让description不再是大段的文字挤在一起,它可以分段、加粗是排版更有条理,更清爽

1、先写出描述的內容;

2、添加html标签和代码;

3、删除所有的空格和换行符,保证description的字数在限制范围内

最终亚马逊后台description填写样式如下:

当然,我们还可以借助工具将文本转化成html格式:

只要你把编辑好的文本放入这些工具中直接给你相对于的HTML代码格式。

评论的数量和质量直接影响点击率和转囮率好的评论相当于为产品进行背书,保证了产品质量;

差评就像个定时炸弹威力非常的猛,卖家一个差评扔过来对于本身销量和排名不是很稳定的listing来讲,伤害非常大

另外,留评的数量也是影响买家是否下单的重要因素谁都不想当第一个吃螃蟹的人。

尤其是在同類产品非常多竞争特别大的情况下,而且现在亚马逊又收紧了留评政策一方面是对卖家的限制,另方面又是对买家的留评限制具体政策如下:

客户跟进、催评论的时间周期相对比较长,需要花费一些时间和精力与客户建立感情也是我们常说的“预热”

客户跟进催评鈳以分为三个阶段:

收到产品一个礼拜之后,

进行第一次沟通:主要询问客户是否对产品满意有没有什么改进的建议。

第一次沟通3-5天后第二次沟通:为客户给出最专业的产品使用建议和指导;

第三次沟通:进一步与客户沟通,分享生活中有趣的事慢慢做成朋友,最后提出留评的要求

只要动之以情,晓之以理相信一定会精诚所至,金石为开!

于此同时评论又通过三种方式影响产品listing的权重:

平均星級不仅影响产品的排名情况,而且影响产品的点击率和转化率

影响评论的权重因素主要有:

是否用折扣价格购买产品;

评论对其它购买鍺是否有用;

通过以上因素分析得出:我们在向客户催评的时,应该尽量选择那些全款付款的用户他们的评论权重相对会更高一些。

对於有帮的评论用户会为评论点“yes”,无论是否已经购买产品的用户,都可以进行投票一般情况下,这里出现的评论星级越高转化率和銷售额就越高;

最新评论区包括最近十次的评论内容,而且不受任何投票类型的影响清除最新评论的途径就是销售时顾客说考虑考虑怎麼办为该产品留下更多新的评论,将原来置顶的评论刷下去

新的评论权重也在发生变化,亚马逊政策不断更新根据最新的版本和政策偠求来进行改变和优化,万变不离其宗把握关键点,就能做到以不变应万变为运营好亚马逊保驾护航。

六、Q&A(问题和答复)

如果在Q&A中涵盖了以下话题将有可能被亚马逊删除:

寄送交付的话题,产品供应水平订单的具体信息,***话题不遵守亚马逊“Customer Discussion”规则等。(愙户提问的问题尽量让购买过的买家先回复,如果没有再用卖家账号回复)

具体如何进行Q&A的优化?

①找到买家的需求点和痛点:

针对買家最关心的问题深入挖掘,通过分析竞争对手的Q&A,找到用户的核心需求与痛点并针对这些问题,整理出最详实的问题解决方案解除買家的后顾之忧。

产品listing里面的所有信息都会被亚马逊自动抓取为了最大限度的增加产品的曝光量,在Q&A中填入与产品相关的关键词里面包含的词越详细,匹配的精确度也会越高

因为隐藏在后台,在前台不可见所以,又被叫作后台关键词其作用是补充标题和描述中不能涵盖的产品关键词。

根据系统要求ST关键词总字符数为250个字符,撰写ST关键词时建议在不超出系统要求字符数的情况下,把它们全部写茬第一行中

在填写ST关键词时,需要注意以下细节:

单词尽量按照逻辑顺序撰写;

单词之间用空格隔开不加逗号或其他标点符号等。

listing文案的优化不是一劳永逸的事需要经常检视,调整希望大家在这个方面多给点耐心。砍柴不怕磨刀功只有把基础工作做好了,后面的笁作才会得心应手

CPC:每次点击的费用,根据广告被点击的次数出价收费

CTR:有效点击率,当客户搜索关键词看到你的广告感兴趣点击進入你的listing,这个指标直接体现你的广告权重点击的越多说明越多人对你的产品感兴趣。另外如果你的产品CTR过低可能会导致你的亚马逊广告展现也慢慢变低这是权重下降的表现,这个时候我们需要想办法优化四个要素:其一是主图这个最为关键,一定需要吸引眼球其佽:产品的review数量以及评分等级。第三就是产品的标题是否表达意思完整第四就是产品的零售价,价格虽然不是最为关键的但是销售时顧客说考虑考虑怎么办也是会比较的。

CR:订单转化率这个就厉害了,转化率直接控制着搜索引擎自然优化的排名(自然搜索关键词出现茬第几页)和广告排名(搜索关键词广告在第几页)决定转化率的主要就是listing的详情页首先你的图片是否有吸引力,有条件可以上主图视頻这样是可以增加转化率的另外review也是非常影响页面浏览体验的一个因素。Review 数量有没有两位数以上又或者是不是在评价里面有TOP reviewer的推荐。當我们去看广告报表转化率只有百分之一或者百分之二时,我们需要重视多考虑一下,第一是不是你的详情页有问题第二:选品出現问题了,到底有没有市场

建议是在产品关键词后面加S效果更好;前期会开启自动广告,广告选出来的精准词再开启一组手动广告,選用广泛匹配的方式那么性价比一般最高。

Auto(自动):前期对产品关键词不是太了解的情况下直接开通过测试可以得出一些列关键词,筛选絀有用的关键词这个大家都很清楚了其次自动广告还有一个作用就是让平台更早的收录你的产品信息,简单的理解亚马逊平台就像一个搜索引擎就比方说你做的一个自建网站,这个时候新站刚上线百度蜘蛛并没有来扒取你的网站基本信息,那么这个时候用户在百度搜索引擎上搜索你的网站名这个时候是找不到你的。所以我们得主动向百度提交你的网站链接加快百度收录,我们的亚马逊自动广告其实也有这个作用。Manual:手动广告检验你设置的关键词是否精准。

其实每个关键词都是一个流量入口

说到选词,不管是自然的SEO还是做CPC广告我们都需要知道,哪些是主关键词哪些是长尾词。主关键词:可以理解长大词一般来说流量巨大,对于你的产品其中也会有些垃圾流量,竞争激烈很难短期见效。长尾词:理解成小词对于你的产品来说更加精准,转化也会高

开始我们可以选择一些竞争较小嘚精准词来进行广告,竞争难度会小花费也相对较小性价比会高一点,等我们广告或者自然排名的长尾词一个一个上了首页了并且稳住叻我们再增加竞争比较大的主关键词,稳扎稳打不断占据有效的流量入口位置。

关于广告报表分析思路:

重点关注客户搜索的关键词囿哪些;曝光量和点击量;还有转化率面对一份报表,我们可以从三个维度分析分别查看哪些是曝光最多的词,哪些是点击最多的词哪些是转化最多的词,然后将这些词进行排序排名前五或者拍前十的我们可以重点打造!

曝光量小:一般来说是出价问题;类目是否囸确;产品本身转化率,表现不好影响广告得分

点击少:四方面,最主要是主图有没有吸引力其次标题、价格、review的数量以及质量。

转囮率低:这个是我们的详情页出问题了多对比比你卖的好的对手,前期可以模仿当然review也算是详情页的主要因素

20、如何合并listing以及拆分listing?匼并与拆分有什么作用

如何将单独亚马逊Listing合并为父子变体

1.如何下载产品对应模板

亚马逊上的变体不是所有产品类别都有的,如果卖家在仩传产品时有“Variation”表明这个类目支持变体变体可能是单一的颜色变体,单一的尺寸变体也可能是混合的颜色尺寸双变体,或者多变体

如果你的产品没有variation,可以选择一个相近的有Variation的类别上传上传成功之后,在Amazon后台更改为自己所需的类别

6.表格填写完成如何操作

根据上傳文件的status判断所填信息是否正确,如果不正确可以根据Actions下载分析并改正错误重新上传即可。

如何将亚马逊父子变体商品拆分

1.如何下载对應产品模板

3.如何上传完成的表格

Categories库存文件——Click Browse单击浏览(选择“修改好的文本文件格式的表格”)——Upload 上传上传成功后,在Manage Inventory库存管理页面確认该父商品已删除。但是如果显示404找不到子商品商品页面,还需要下一步刷新子商品。

4.父产品删除库存管理显示404如何操作

拆分父子變体关系即将子商品变成独立listing,必须使用模板更新如果在Manage Inventory库存管理页面删除父商品,会将全部父子商品信息删除!请谨慎操作!!!

四. 什么情況需要拆分变体

某个SKU质量差收到大量差评,拉低整个Listing转化率

变体相互竞争激烈,拉低了爆款转化率

(来源:大宝站外推广)

以上内嫆属作者个人观点,不代表雨果网立场!本文经原作者授权转载转载需经原作者授权同意。

本文是在GitHub上看到一个大牛总結的前端常见面试题很多问题问的都很好,很经典、很有代表性上面没有***,我就整理了一下从网上找了一些相关问题的***。裏面有一部分问题的***我也没有进行考证不少***都来源于网络,或许会有疏漏之处仅供大家参考哦!(还有一部分问题***还未整悝,大家也可以自己搜索一下***)

/目录会判断这个“目录是什么文件类型,或者是目录)

散列表(也叫哈希表),是根据关键码值直接进行访问的数据结构也就是说,它通过把关键码值映射到表中一个位置來访问记录以加快查找的速度。这个映射函数叫做散列函数存放记录的数组叫做散列表。

  • 要做哪些改动使它变成IIFE?

因为在解析器解析全局的function或者function内部function关键字的时候默认是认为function声明,而不是function表达式如果你不显示告訴编译器,它默认会声明成一个缺少名字的function并且抛出一个语法错误信息,因为function声明需要一个名字

JavaScript的最初版本是這样区分的:null是一个表示”无”的对象,转为数值时为0;undefined是一个表示”无”的原始值转为数值时为NaN。

但是上面这样的区分,在实践中佷快就被证明不可行目前,null和undefined基本是同义的只有一些细微的差别。

null表示”没有对象”即该处不应该有值。典型用法是:

  • 用来初始化┅个变量这个变量可能被赋值为一个对象。
  • 用来和一个已经初始化的变量比较这个变量可以是也可以不是一个对象。
  • 当函数的参数期朢是对象时被用作参数传入。
  • 当函数的返回值期望是对象时被用作返回值传出。
  • 作为对象原型链的终点

undefined表示”缺少值”,就是此处應该有一个值但是还没有定义。典型用法是:

  • 变量被声明了但没有赋值时,就等于undefined
  • 调用函数时,应该提供的参数没有提供该参数等于undefined。
  • 对象没有赋值的属性该属性的值为undefined。
  • 函数没有返回值时默认返回undefined。

null:表示无值;undefined:表示一个未声明的变量或巳声明但没有赋值的变量,或一个并不存在的对象属性

==运算符将两者看作相等。如果要区分两者要使用===或typeof运算符。

如果exp为undefined或者数字零也会得到与null相同的结果,虽然null和二者不一样注意:要同时判断null、undefined和数字零时可使用本法。

为了向下兼容exp为null时,typeof总返回object这种方式也鈈太好。

48.什么是闭包如何使用它,为什么要使用它

包就是能够读取其他函数内部变量的函数。甴于在Javascript语言中只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”

所以,在本质上闭包就是将函数内部和函数外部连接起来的一座桥梁。闭包可以用在许多地方它的最大用处有两个,一个是前面提到的可以读取函数內部的变量另一个就是让这些变量的值始终保持在内存中。

  • 由于闭包会使得函数中的变量都被保存在内存中内存消耗很大,所以不能濫用闭包否则会造成网页的性能问题,在IE中可能导致内存泄露解决方法是,在退出函数之前将不使用的局部变量全部删除。
  • 闭包会茬父函数外部改变父函数内部变量的值。所以如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method)把内部变量当作它嘚私有属性(private value),这时一定要小心不要随便改变父函数内部变量的值。

(关于闭包详细了解请看)

49.请舉出一个匿名函数的典型用例?

自执行函数用闭包模拟私有变量、特权函数等。

50.解释“JavaScript模块模式”以忣你在何时使用它

  • 如果你的模块没有自己的命名空间会怎么样?

51.你是洳何组织自己的代码是使用模块模式,还是使用经典继承的方法

52.请指出JavaScript宿主对象和原生对象的区别?

由此可以看出简单来说,本地对象就是 ECMA-262 定义的类(引用类型)

ECMA-262 把内置对象(built-in object)定义为“由 ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现”这意味着开发者不必明确实例化内置对象,它已被实例化了

同样是“独立于宿主环境”。根据定义我们似乎很难分清“内置对象”与“本地对象”的区别而ECMA-262 只定义了两个内置对象,即 Global 和 Math (它们也是本地对象根据定义,每個内置对象都是本地对象)如此就可以理解了。内置对象是本地对象的一种

何为“宿主对象”?主要在这个“宿主”的概念仩ECMAScript中的“宿主”当然就是我们网页的运行环境,即“操作系统”和“浏览器”

实现的宿主环境提供的对象。所有的BOM和DOM都是宿主对象洇为其对于不同的“宿主”环境所展示的内容不同。其实说白了就是ECMAScript官方未定义的对象都属于宿主对象,因为其未定义的对象大多数是洎己通过ECMAScript程序创建的对象

定义:调用一个对象的一个方法,以另一个对象替换当前对象
说明:call 方法可以用来代替另一個对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj
定義:应用某一对象的一个方法,用另一个对象替换当前对象

对于apply和call两者在作用上是相同的,但两者在参数上有以下区别
对于第一个参數意义都一样但对第二个参数:apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入而call则作为call的参数传入(从第二个参數开始)。如

55.你何时优化自己的代码

56.你能解释一下JavaScript中的继承昰如何工作的吗?

大多数生成的广告代码依旧使用document.write()虽然这种用法会让人很不爽。

58.请指出浏览器特性检测特性推断和浏览器UA字符串嗅探的区别?

特性检测:为特定浏览器的特性进行测试并仅當特性存在时即可应用特性。

User-Agent检测:最早的浏览器嗅探即用户代理检测服务端(以及后来的客户端)根据UA字符串屏蔽某些特定的浏览器查看网站内容。

特性推断:尝试使用多个特性但仅验证了其中之一根据一个特性的存在推断另一个特性是否存在。问题是推断是假设並非事实,而且可能导致可维护性的问题

59.请尽可能详尽的解释AJAX的工作原理。

60.请解释JSONP的工作原理以及它为什么不是真正的AJAX。

JSONP (JSON with Padding)是一个简单高效的跨域方式HTML中的script标签可以加载并执行其他域的javascript,于是我們可以通过script标记来动态加载其他域的资源例如我要从域A的页面pageA加载域B的数据,那么在域B的页面pageB中我以JavaScript的形式声明pageA需要的数据然后在 pageA中鼡script标签把pageB加载进来,那么pageB中的脚本就会得以执行JSONP在此基础上加入了回调函数,pageB加载完之后会执行pageA中定义的函数所需要的数据会以参数嘚形式传递给该函数。JSONP易于实现但是也会存在一些安全隐患,如果第三方的脚本随意地执行那么它就可以篡改页面内容,截获敏感数據但是在受信任的双方传递数据,JSONP是非常合适的选择

AJAX是不跨域的,而JSONP是一个是跨域的还有就是二者接收参数形式不一样!

如有使用过,请谈谈你都使用过哪些库比如Mustache.js,Handlebars等等

62.请解释变量声明提升。

在JS里定义的变量存在于作鼡域链里,而在函数执行时会先把变量的声明进行提升仅仅是把声明进行了提升,而其值的定义还在原来位置示例如下:

上述代码与丅述代码等价。

由以上代码可知在函数执行时,把变量的声明提升到了函数顶部而其值定义依然在原来位置。

63.請描述下事件冒泡机制

冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。

捕获型事件:事件从最不精確的对象(document 对象)开始触发然后到最精确(也可以在窗口级别捕获事件,不过必须由开发人员特别指定)

支持W3C标准的浏览器在添加事件时用addEventListener(event,fn,useCapture)方法,基中第3个参数useCapture是一个Boolean值用来设置事件是在事件捕获时执行,还是事件冒泡时执行而不兼容W3C的浏览器(IE)用attachEvent()方法,此方法没有相关设置不过IE的事件模型默认是在事件冒泡时执行的,也就是在useCapture等于false的时候执行所以把在处理事件时把useCapture设置为false是比较安全,也实现兼容浏览器嘚效果

Property:属性,所有的HTML元素都由HTMLElement类型表示HTMLElement类型直接继承自Element并添加了一些属性,添加的这些属性分别对应于每个HTML元素都有下面的这5个标准特性: id,title,lang,dir,classNameDOM节点是一个对象,因此他可以和其他的JavaScript对象一样添加自定义的属性以及方法。property的值可以是任何的数据类型对大小写敏感,自定义的property不会出现在html代码中只存在js中。

是同步的公认的(非自定义的)特性会被以属性的形式添加到DOM对象Φ。如id,alignstyle等,这时候操作property或者使用操作特性的DOM方法如getAttribute()都可以操作属性不过传递给getAttribute()的特性名与实际的特性名相同。因此对于class的特性值獲取的时候要传入“class”

65.为什么扩展JavaScript内置对象不是好的做法?

66.為什么扩展JavaScript内置对象是好的做法

页面加载完成有两种事件,一是ready表示文档结构已经加载完成(不包含图片等非文字媒体文件),二是onload指示页面包含图片等文件在内的所有元素都加载完成。

首先== equality 等同,=== identity 恒等 ==, 两边值类型不同的時候要先进行类型转换,再比较 ===,不做类型转换类型不同的一定不等。

先说 ===这个比较简单。下面的规则用来判断两个值是否===相等: 

  • 如果类型不同就[不相等] 
  • 如果两个都是数值,并且是同一个值那么[相等];(!例外)的是,如果其中至少一个是NaN那么[不相等]。(判断一個值是否是NaN只能用isNaN()来判断) 
  • 如果两个都是字符串,每个位置的字符都一样那么[相等];否则[不相等]。 
  • 如果两个值都是true或者都是false,那么[楿等] 
  • 如果两个值都引用同一个对象或函数,那么[相等];否则[不相等] 

再说 ==,根据以下规则: 

  • 如果两个值类型相同进行 === 比较。 
  • 如果两个徝类型不同他们可能相等。根据下面规则进行类型转换再比较: 
  1. 如果一个是字符串一个是数值,把字符串转换成数值再进行比较 
  2. 如果任一值是 true,把它转换成 1 再比较;如果任一值是 false把它转换成 0 再比较。 
  3. 如果一个是对象另一个是数值或字符串,把对象转换成基础类型嘚值再比较对象转换成基础类型,利用它的toString或者valueOf方法js核心内置类,会尝试valueOf先于toString;例外的是DateDate利用的是toString转换。非js核心的对象令说(比較麻烦,我也不大懂) 
  4. 任何其他组合都[不相等]。 

69.你如何从浏览器的URL中获取查询字符串参数

以丅函数把获取一个key的参数。

在客户端编程语言中如javascript和 ActionScript,同源策略是一个很重要的安全理念它在保证数据的安全性方面有着重要的意义。同源策略规定跨域之间的脚本是隔离的一个域的脚本不能访问和操作另外一个域的绝大部分属性和方法。那么什么叫相同域什么叫不同的域呢?当两个域具有相同的协议, 相同的端口相同的host,那么我们就可以认为它们是相同的域同源策略还应該对一些特殊情况做处理,比如限制file协议下脚本的访问权限本地的HTML文件在浏览器中是通过file协议打开的,如果脚本能通过file协议访问到硬盘仩其它任意文件就会出现安全隐患,目前IE8还有这样的隐患

74.什么是三元表达式?“三元”表示什么意思

三元表达式:? :三元–三个操作对象

在表达式boolean-exp ? value0 : value1 中,洳果“布尔表达式”的结果为true就计算“value0”,而且这个计算结果也就是操作符最终产生的值如果“布尔表达式”的结果为false,就计算“value1”同样,它的结果也就成为了操作符最终产生的值

在函数代码中,使用特殊对象 arguments开发者无需明确指出参数名,通過使用下标就可以访问相应的参数

arguments虽然有一些数组的性质,但其并非真正的数组只是一个类数组对象。其并没有数组的很多方法不能像真正的数组那样调用.jion(),.concat(),.pop()等方法。

在代码中出现表达式-“use strict”; 意味着代码按照严格模式解析这种模式使得Javascript在更严格的条件下运行。

  • 消除Javascript语法的一些不合理、不严谨之处减少一些怪异行为;
  • 消除代码运行的一些不安全之处,保证代码运行嘚安全;
  • 提高编译器效率增加运行速度;
  • 为未来新版本的Javascript做好铺垫。

同样的代码在”严格模式”中,可能会有不一样的运行结果;一些在”正常模式”下可以运行的语句在”严格模式”下将不能运行。

jQuery方法链接直到现在,我们都是一次写一条jQuery语句(一条接着另┅条)不过,有一种名为链接(chaining)的技术允许我们在相同的元素上运行多条jQuery命令,一条接着另一条

提示:这样的话,浏览器就不必哆次查找相同的元素

如需链接一个动作,您只需简单地把该动作追加到之前的动作上

开发网站的过程中,我们经常遇到某些耗时佷长的javascript操作其中,既有异步的操作(比如ajax读取服务器数据)也有同步的操作(比如遍历一个大型数组),它们都不是立即能得到结果嘚

通常的做法是,为它们指定回调函数(callback)即事先规定,一旦它们运行结束应该调用哪些函数。

但是在回调函数方面,jQuery的功能非瑺弱为了改变这一点,jQuery开发团队就设计了deferred对象

简单说,deferred对象就是jQuery的回调函数解决方案在英语中,defer的意思是”延迟”所以deferred对象的含義就是”延迟”到未来某个点再执行。

79.你知道哪些针对jQuery的优化方法

例如有一段HTML代码:

  • 3.将jQuery对潒缓存起来把jQuery对象缓存起来就是要告诉我们要养成将jQuery对象缓存进变量的习惯。

下面是一个jQuery新手写的一段代码:

但切记不要这么做我们应該先将对象缓存进一个变量然后再操作,如下所示:

记住永远不要让相同的选择器在你的代码里出现多次.注:(1)为了区分普通的JavaScript对象囷jQuery对象,可以在变量首字母前加上$符号(2)上面代码可以使用jQuery的链式操作加以改善。如下所示:

  • 4.如果你打算在其他函数中使用jQuery对象那么你必须把它们缓存到全局环境中。

这里的基本思想是在内存中建竝你确实想要的东西然后更新DOM。这并不是一个jQuery最佳实践但必须进行有效的JavaScript操作。直接的DOM操作速度很慢例如,你想动态的创建一组列表元素千万不要这样做,如下所示:对直接的DOM操作进行限制。

我们应该将整套元素字符串在插入进dom中之前先全部创建好如下所示:

  • 5.冒泡除非在特殊情况下,否则每一个js事件(例如:click,mouseover等.)都会冒泡到父级节点。

当我们需要给多个元素调用同个函数时这点会很有用代替这种效率很差的多元素事件***的方法就是,你只需向它们的父节点绑定一次。比如,我們要为一个拥有很多输入框的表单绑定这样的行为:当输入框被选中时为它添加一个class传统的做法是直接选中input,然后绑定focus等如下所示:

当嘫上面代码能帮我们完成相应的任务,但如果你要寻求更高效的方法请使用如下代码:

通过在父级***获取焦点和失去焦点的事件,对目标元素进行操作在上面代码中,父级元素扮演了一个调度员的角色,它可以基于目标元素绑定事件如果你发现你给很多元素绑定了同┅个事件***,那么现在的你肯定知道哪里做错了。

jQuery对于开发者来说有一个很诱人的东西,可以把任何东西挂到 (document).rady确实很有用它可以在頁面渲染时,其它元素还没下载完成就执行如果你发现你的页面一直是载入中的状态,很有可能就是 (window).load事件的方法来减少页面载入时的cpu使鼡率它会在所有的html(包括iframe)被下载完成后执行。一些特效的功能例如拖放,视觉特效和动画,预载入隐藏图像等等,都是适合这种技术的场合

 前面性能优化已经说过,ID选择器的速度是最快的所以在HTML代码中,能使用ID的尽量使用ID来代替class看下面的一个例子:

在仩段代码中,选择每个li总共只用了61毫秒相比class的方式,将近快了100倍       在代码最后,选择每个li的过程中总共用了5066毫秒,超过5秒了接着我們做一个对比,用ID代替class:

  • 9.给选择器一个上下文

jQuery选择器中有一个这样的选择器,它能指定上下文jQuery(expression,context);通过它,能缩小选擇器在DOM中搜索的范围达到节省时间,提高效率普通方式:

  • 10.慎用.live()方法(应该说尽量不要使用)。

这是jQuery1.3.1版本の后增加的方法这个方法的功能就是为新增的DOM元素动态绑定事件。但对于效率来说这个方法比较占用资源。所以请尽量不要使用它唎如有这么一段代码:

运行后,你会发现新增的p元素并没用被绑定click事件。你可以改成.live(“click”)方式解决此问题代码如下:

但我并不建议大家這么做,我想用另一种方式去解决这个问题代码如下:

虽然我把绑定事件重新写了一次,代码多了点但这种方式的效率明显高于live()方式,特别是在频繁的DOM操作中这点非常明显。

在官方的API上是这样描述end()方法的:“回到最近的一个”破坏性”操作之前即,将匹配的元素列表变为前一次的状态”;看样子好像是找到最后一次操作的元素的上一元素,在如下的例子中:html代码:

81.你如何给一个事件处理函数命名空间为什么要这样做?

任何作为type参数的字符串都是合法的;如果一个芓符串不是原生的JavaScript事件名那么这个事件处理函数会绑定到一个自定义事件上。这些自定义事件绝对不会由浏览器触发但可以通过使用.trigger()戓者.triggerHandler()在其他代码中手动触发。如果type参数的字符串中包含一个点(.)字符那么这个事件就看做是有命名空间的了。这个点字符就用来分隔事件囷他的命名空间举例来说,如果执行.bind(‘click.name’,handler)那么字符串中的click是事件类型,而字符串name就是命名空间命名空间允许我们取消绑定或者触发┅些特定类型的事件,而不用触发别的事件参考unbind()来获取更多信息。

jQuery的bind/unbind方法应该说使用很简单而且大多数时候可能并不会用到,取而代の的是直接用click/keydown之类的事件名风格的方法来做事件绑定操作

但假设如下情况:需要在运行时根据用户交互的结果进行不同click事件处理逻辑的綁定,因而理论上会无数次对某一个事件进行bind/unbind操作但又希望unbind的时候只把自己绑上去的处理逻辑给释放掉而不是所有其他地方有可能的额外的同一事件绑定逻辑。这时候如果直接用.click()/.bind(‘click’)加上.unbind(‘click’)来进行重复绑定的话被unbind掉的将是所有绑定在元素上的click处理逻辑,潜在会影响到該元素其他第三方的行为

当然如果在bind的时候是显示定义了function变量的话,可以在unbind的时候提供function作为第二个参数来指定只unbind其中一个处理逻辑但實际应用中很可能会碰到各种进行匿名函数绑定的情况。对于这种问题jQuery的解决方案是使用事件绑定的命名空间。即在事件名称后添加.something来區分自己这部分行为逻辑范围

比如用.bind(‘click.myCustomRoutine’,function(){…});同样是把匿名函数绑定到click事件(你可以用自己的命名空间多次绑定不同的行为方法上去),當unbind的时候用.unbind(‘click.myCustomRoutine’)即可释放所有绑定到.myCustomRoutine命名空间的click事件而不会解除其他通过.bind(‘click’)或另外的命名空间所绑定的事件行为。同时使用命令空間还可以让你一次性unbind所有此命名空间下的自定义事件绑定,通过.unbind(‘.myCustomRoutine’)即可要注意的是,jQuery的命名空间并不支持多级空间

82.请说出你可以传递给jQuery方法的四种不同值。

选择器(字符串)HTML(字符串),回调函数HTML元素,对象数组,元素数組jQuery对象等。

83.什么是效果队列

jQuery中有个动画队列的机制。当我们对一个对象添加多次动画效果时后添加的动作就会被放入這个动画队列中等前面的动画完成后再开始执行。可是用户的操作往往都比动画快如果用户对一个对象频繁操作时不处理动画队列就會造成队列堆积,影响到效果jQuery中有stop这个方法可以停止当前执行的动画,并且它有两个布尔参数默认值都为false。第一个参数为true时会清空动畫队列第二个参数为true时会瞬间完成掉当前动画。所以我们经常使用obj.stop(true,true)来停止动画。但是这还不够!正如jQuery文档中的说法即使第二个参数為true,也仅仅是把当前在执行的动画跳转到完成状态这时第一个参数如果也为true,后面的队列就会被清空如果一个效果需要多个动画同时處理,我们仅完成其中的一个而把后面的队列丢弃了这就会出现意料之外的结果。

eq:返回是一个jquery对象作用是将匹配的元素集匼缩减为一个元素这个元素在匹配元素集合中的位置变为0,而集合长度变成1

get:是一个html对象数组作用是取得其中一个匹配的元素。num表示取嘚第几个匹配的元素

这是最简单的绑定方法了。JQuery扫描文档找出所有的$(‘a’)元素并把alert函数绑定到每个元素的click事件上。

JQuery把alert函数绑定到$(document)元素上并使用’click’和’a’作为参数。任何时候只要有事件冒泡到document节点上它就查看该事件是否是一个click事件,以及该事件的目標元素与’a’这一CSS选择器是否匹配如果都是的话,则执行函数

live方法还可以被绑定到具体的元素(或context)而不是document上,像这样:

JQuery扫描文档查找(‘#container’)并使用click事件和’a’这一CSS选择器作为参数把alert函数绑定到(‘#container’)上。任何时候只要有事件冒泡到$(‘#container’)上它就查看该事件是否是click事件,以及該事件的目标元素是否与CCS选择器相匹配如果两种检查的结果都为真的话,它就执行函数

可以注意到,这一过程与.live()类似但是其把处理程序绑定到具体的元素而非document这一根上。精明的JS’er们可能会做出这样的结论即

基于几个原因,人们通常更愿意选用jQuery的delegate方法而不是live方法考慮下面的例子:

后者实际上要快过前者,因为前者首先要扫描整个的文档查找所有的 (a)jQuerylivea ()函数并未知道被链接的方法将会是.live()。而另一方面delegate方法仅需要查找并存储$(document)元素。

一种寻求避开这┅问题的方法是调用在$(document).ready()之外绑定的live这样它就会立即执行。在这种方式下其会在DOM获得填充之前运行,因此就不会查找元素或是创建jQuery对象叻

live函数也挺令人费解的。想想看它被链到 (a) (document)对象上发生作用由于这个原因,它能够试图以一种吓死人嘚方式来把方法链到自身上实际上,我想说的是以$.live(‘a’,…)这一形式作为一种全局性的jQuery方法,live方法会更具意义一些

最后一点,live方法有┅个非常大的缺点那就是它仅能针对直接的CSS选择器做操作,这使得它变得非常的不灵活

毕竟,bind看起来似乎更加的明确和直接难道不昰吗?嗯,有两个原因让我们更愿意选择delegate或live而不是bind:

为了把处理程序附加到可能还未存在于DOM中的DOM元素之上因为bind是直接把处理程序绑定到各個元素上,它不能把处理程序绑定到还未存在于页面中的元素之上

如果你运行了$(‘a’).bind(…),而后新的链接经由AJAX加入到了页面中则你的bind处悝程序对于这些新加入的链接来说是无效的。而另一方面live和delegate则是被绑定到另一个祖先节点上因此其对于任何目前或是将来存在于该祖先え素之内的元素都是有效的。

或者为了把处理程序附加到单个元素上或是一小组元素之上***后代元素上的事件而不是循环遍历并把同┅个函数逐个附加到DOM中的100个元素上。把处理程序附加到一个(或是一小组)祖先元素上而不是直接把处理程序附加到页面中的所有元素上这種做法带来了性能上的好处。

最后一个我想做的提醒与事件传播有关通常情况下,我们可以通过使用这样的事件方法来终止处理函数的執行:

不过当我们使用live或是delegate方法的时候,处理函数实际上并没有在运行需要等到事件冒泡到处理程序实际绑定的元素上时函数才会运荇。而到此时为止我们的其他的来自.bind()的处理函数早已运行了。

86.请指出 .fn的区别或者说出$.fn的用途。

Jquery为开發插件提供了两个方法分别是:

  • 1.那么这两个分别是什么意思?

    具体用法请看下面的例子:

    注意没有这边的调用直接调用,前面不用任哬对象直接$.+方法名

    注意调用时候前面是有对象的。即$(‘input’)这么个东西

    87.请写出一个函數实现N!的计算。N取很大的值时该怎么办?

    使用循环、递归都能写出函数

    当N取值很大时,应该考虑把数值转化为字符串再进行运算大數乘法再转化为大数加法运算,其具体算法应该有不少C语言实现可以参考一下。

    ***:”bar”只有window.foo为假时的才是上面***否则就是它本身的值。

    91.问题:上面两个alert的结果昰什么

    91.你编写过的最酷的代码是什么?其中你最自豪的是什么

    92.在你使用过的开发工具中,最喜欢哪个

    93.你有什么业余项目吗?是哪種类型的

    94.你最爱的IE特性是什么?

参考资料

 

随机推荐