某公司笔试前端专业题目

用过的js框架,谈谈其优点。
jQuery
1、jQuery实现脚本与页面的分离
在HTML代码中,我们还经常看到类似这样的代码:

<form id="myform" onsubmit=return validate();> 

即使validate()函数可以被放置在一个外部文件中,实际上我们依然是把页面与逻辑和事件混杂在一起。jQuery让你可以将这两部分分离。借助于jQuery,页面代码将如下所示:
<form id="myform">接下来,一个单独的JS文件将包含以下事件提交代码:
代码如下:

$("myform").submit(function(){ 
...your code here 
)} 

这样我们可以实现灵活性非常强的清晰页面代码。jQuery让JavaScript代码从HTML页面代码中分离出来,就像数年前CSS让样式代码与页面代码分离开一样。
2、最少的代码做最多的事情
最少的代码做最多的事情,这是jQuery的口号,而且名副其实。使用它的高级selector,开发者只需编写几行代码就能实现令人惊奇的效果。开发者无需过于担忧浏览器差异,它除了还完全支持Ajax,而且拥有许多提高开发者编程效率的其它抽象概念。jQuery把JavaScript带到了一个更高的层次。以下是一个非常简单的示例:
代码如下:

$("p.neat").addClass("ohmy").show("slow"); 

通过以上简短的代码,开发者可以遍历“neat”类中所有的

元素,然后向其增加“ohmy”类,同时以动画效果缓缓显示每一个段落。开发者无需检查客户端浏览器类型,无需编写循环代码,无需编写复杂的动画函数,仅仅通过一行代码就能实现上述效果。
3、性能
在大型JavaScript框架中,jQuery对性能的理解最好。尽管不同版本拥有众多新功能,其最精简版本只有18KB大小,这个数字已经很难再减少。jQuery的每一个版本都有重大性能提高。本篇文章讲的是jQuery未经过任何优化的原始速度。如果将其与新一代具有更快 JavaScript引擎的浏览器(如火狐3和谷歌Chrome)配合使用,开发者在创建富体验Web应用时将拥有全新速度优势。
4、它是一个“标准”
之所以使用引号,是以为jQuery并非一个官方标准。但是业内对jQuery的支持已经非常广泛。谷歌不但自己使用它,还提供给用户使用。另外戴尔、新闻聚合网站Digg、WordPress、Mozilla和许多其它厂商也在使用它。微软甚至将它整合到Visual Studio中。如此多的重量级厂商支持该框架,用户大可以对其未来放心,大胆的对其投入时间。
5、插件
基于jQuery开发的插件目前已经有大约数千个。开发者可使用插件来进行表单确认、图表种类、字段提示、动画、进度条等任务。jQuery社区已经成长为一个生态系统。这一点进一步证明了上一条理由,它是一个安全的选择。而且,jQuery正在主动与“竞争对手”合作,例如Prototype。它们似乎在推进JavaScript的整体发展,而不仅仅是在图谋一己之私。
6、节省开发者学习时间
当然要想真正学习jQuery,开发者还是需要投入一点时间,尤其是如果你要编写大量代码或自主插件的话,更是如此。但是,开发者可以采取“各个击破”的方式,而且jQuery提供了大量示例代码,入门是一件非常容易的事情。我建议开发者在自己编写某类代码前,首先看一下是否有类似插件,然后看一下实际的插件代码,了解一下其工作原理。简而言之,学习jQuery不需要开发者投入太多,就能够迅速开始开发工作,然后逐渐提高技巧。
7、让JavaScript编程变得有趣

bootstrap:应用视觉效果一致性. 这个其实是很很难的,你希望你的链接、按钮、提醒都有统一的视觉效果,你可以为不同级别的提醒使用不同的颜色
  通过多个浏览器测试. 市面上主流的浏览器支持都没问题
  完整的框架解决方案. 这是一个框架,你只需使用它而无需重新制作,这个框架专为 Web 应用设计,所有的元素都可以非常完美的在一起工作,可快速开发。
  
jQuery EasyUI 框架帮助我们轻松建立站点:
easyui是一个基于jquery的集成了各种用户界面的插件。
使用easyui你不需要写太多javascript代码,一般情况下你只需要使用一些html标记来定义用户接口。
easyui非常简单,但是功能非常强大。
jQuery EasyUI

  优点:轻量,组件较为丰富,效果还可以,版本已经趋于稳定,官方有专人维护与技术支持。
  
this对象的理解
在JavaScript中this变量是一个令人难以摸清的关键字,this可谓是非常强大,充分了解this的相关知识有助于我们在编写面向对象的JavaScript程序时能够游刃有余。

  1. 一般用处
    对于this变量最要的是能够理清this所引用的对象到底是哪一个,也许很多资料上都有自己的解释,但有些概念讲的偏繁杂。而我的理解是:首先分析this所在的函数是当做哪个对象的方法调用的,则该对象就是this所引用的对象。
  2. this.x 与 apply()、call()
    通过call和apply可以重新定义函数的执行环境,即this的指向,这对于一些应用当中是十分常用的。
    以上可以归纳为:“this所指的就是直至包含this指针的上层对象”。
    更具体的描述如下:
    调用形式 this指向
    普通函数 全局对象window
    对象的方法 该对象
    构造函数 新构造的对象

情况一:纯粹的函数调用

这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。
情况二:作为对象方法的调用

函数还可以作为某个对象的方法调用,这时this就指这个上级对象。
情况三 作为构造函数调用

所谓构造函数,就是通过这个函数生成一个新对象(object)。这时,this就指这个新对象。
情况四 apply调用

apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。因此,this指的就是这第一个参数。

CSS选择符,可继承的属性,优先算法如何计算。

* id选择器( # myid)
* 类选择器(.myclassname)
* 标签选择器(div, h1, p)
* 相邻选择器(h1 + p)
* 子选择器(ul > li)
* 后代选择器(li a)
* 通配符选择器( * )
* 属性选择器(a[rel = "external"])
* 伪类选择器(a: hover, li: nth - child)

可继承的样式: font-size font-family color, UL LI DL DD DT ;
不可继承的样式:border padding margin width height ;
CSS优先级:是由四个级别和各级别的出现次数决定的。
四个级别分别为:行内选择符、ID选择符、类别选择符、元素选择符。

优先级的算法:
每个规则对应一个初始”四位数”:0、0、0、0
若是 行内选择符,则加1、0、0、0
若是 ID选择符,则加0、1、0、0
若是 类选择符/属性选择符/伪类选择符,则分别加0、0、1、0
若是 元素选择符/伪元素选择符,则分别加0、0、0、1
算法:将每条规则中,选择符对应的数相加后得到的”四位数“,从左到右进行比较,大的优先级越高。

需注意的是:
①、!important的优先级是最高的,但出现冲突时则需比较”四位数“;
②、优先级相同时,则采用就近原则;
③、继承得来的属性,其优先级最低;
写js方法。设计一个Animal的类,拥有一个color属性,一个walk函数表示可以行走。

var Animal=function(c){
        this.color=c;
        this.walk=function(){
            alert("i am walk");
        }
    }
    var dog=new Animal("red");
    console.log(dog.color);
    dog.walk();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值