当前位置:文档之家› js_ext_jquery面试题

js_ext_jquery面试题

对js,ext,jquey的总结一:js面试题1.js中到的String你是怎么理解的答:String是js中唯一可以变长的长度到值,存储方式是以数组存储的一般组合alert使用 \n:是代表回车 \r是代表换行2.写js代码的时候要注意的语法答:1.区分大小写2.变量类型是弱类型 var3.注释 //单行注释 /** 多行注释 **/4.变量名要是字母下划线 $5.数据类型:* 原始数据类型(栈) boolean,null,undefind,number,String* 引用数据类型(堆)比如对象3.强类型变量和弱类型变量到区别1.强类型变量:编译前必须要声明----->基于java2.弱类型变量:编译前不需要声明(使用前不需要声明 , 而是解释器在运行时检查数据类型)---->js3.在js中function()表示什么? 可不可以重载? function的声明方式?答: 1.可以表示为---> 类 , 对象 , 方法 , 构造器2.不可以重载(当function()的名字相同--->后面到会覆盖前面到)3.function()是所有函数到父类例如:function 函数名(参数列明){ }4.js的特点答: 1.脚本语言,基于对象2.基于java的,基于语句和控制流之上简单而紧凑3.动态的脚本语言4.依赖于浏览器本身于操作环境无关5.以字符串解析执行5.给你一页面,要你写JS代码拿对象,得到它值,然后进行一些操作答: 第一种方法是 document.getEelementById("标签里面到id属性").value;第二种方法是 document.getEelementsByName("标签里面name属性").value;第三种方法是直接用document点name里面到属性例如:document.xxx.xxx.value 这样就可以拿到值6.你是怎么理解js里面到this关键字答:this是对当前对象的引用,在js中由于对象到引用是多层次的,为了避免乱(谁调用了它,它就会指向谁)7.js里面的警告框和询问框确认框有什么作用答: 1.警告框为了输出js调式用例:alert("我是用于js调式");2.询问框为了询问你通不通过例:提问 var number=prompt("你到分数")if(number>100){通过}else{没有通过}3.确认框为了让你确认的例: 确认 var name = confirm("js菜鸟")if(name==true){彼此彼此}else{你才是菜鸟}8.js是的组成分为哪三部分答:核心(Ecmscript) , 文档对象模型 , 浏览器对象模型9.在js里面跳转一个页面用什么方法答:第一种方法:window.location.href("xxx.html");第二种方法:window.open("xx.html");第三种方法:window.navigate("");第四中方法:window.location.reload(true);10.请讲一下js里面到继承有几种答:1.构造继承2.冒充继承分为二种:Call[父类.call(子类对象,参数)]------->call是不可以传数组的apply[父类.apply(子类对象,数组)]-------------->apply是可以传数组的3.原型继承------->父类的实例指向子类的原型对象 prototype4.拷贝继承11.请写一个匿名函数答:最简单到匿名函数:(function(){alert("我是匿名函数");}) 输出:()12.用数组存储数据有什么好处答:用数组存储数据效率高13.请说下你是怎么理解原型(prototype) 和构造器(Constructor)答: 第一使用原型对象的时候,必须在类实例创建语句之前,否则它不会起作用第二 prototype对象是个(模板),需要(实例化)的(对象)都是以这个(模板)为基础的任何(属性)和(方法)都被传递给那个(类)的所有(实例)第三一个对象的(原型)就是他的(构造函数)Prototype的属性第四所有(函数)都有(Prototype属性),当这个函数被定义时,Prototype属性会(自动创建初始化),Prototyp属性初始化的值是一个(对象)这个对象只带一个属性Constructor第五 (constructor指向)和(原型)关联的那个(函数),给这个(原型)添加任何(属性),都会成为被(构造函数初始化)的(对象)14.原型的特点答:能够让对象实例共享原型的(属性)15.请讲下你对js中的闭包理解答: 1.函数可以调用函数之外定义的数据,函数之外的数据不能调用函数里面定义的数据2.闭包有返回,但返回是(最终值)3.闭包是用来保护变量和栈资源的4.一个闭包当一个函数返回时,一个没有释放资源的栈区5.闭包运行的时候是指向window,因为闭包并不是属于这个对象的(方法)或(属性)6.做为一个函数变量的引用,当函数返回时处于激活状态16.闭包的优缺点答: 1.由于闭包里作用域返回的局部变量资源,不会立刻销毁回收所以,可能会占用更多的内存过度,使用闭包会导致性能下降2.是用闭包有一个优点也就是缺点,就是可以把局部变量驻留在内存当中,可以避免使用全局变量网上看到的资料: 由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。

解决方法是,在退出函数之前,将不使用的局部变量全部删除。

网上看到的变量的作用域: 变量的作用域无非就是两种:全局变量和局部变量。

17.js中对象浏览器分为答:1.宿主对象:由浏览器提供的对象(Dom , Bom)不能被继承2.内置对象:由js提供独立于宿主环境已经实例化的对象:Window,math,global3.本地对象:由js提供,独立于宿主,没有被实例化18.讲几个Window的子对象答: document对象 , frames对象 , hostory对象 , location对象 , navigator对象 , screen对象19.对Dom和Bom的理解答:1.Bom的全名:Browser.Object.model 简称:浏览器对象模型2.Bom的核心对象是Window3.文档对象模型:Dom(就是使用树视图来形容HTML代码)4.document对象是Dom的一部分5.Bom包含Dom<---->Dom包含Bom20.请说下你是这么理解js,它的优点和缺点答:22.请讲下你在js中用到的框架答: js中用到的框架: Ajax , ExtJs ,JQuery23.早绑定和晚绑定到理解答: 早绑定在对象里面定义属性,晚绑定在prototype里面绑定方法24.页面跳转带参所产生的乱码答:使用global对象中的escape()方法对参数进行加密在另外一个页面使用unescape()方法对参数进行解码可以料25.js中有几种伪数组答: arguments , cells26.js中常用的节点类型答: 元素节点: 文档节点中具有标签的节点返回的属性值是:1 例如:<p>文本节点: 标签中不注释的文本块返回的属性值是:3 例如:<p>我就是属性</p>27.js中的正则表达式语法答: g:全文查找i:忽略大小写m:多行查找28.js中的正则表达式匹配的次数答: {n}:匹配N次例如:food o{2} 就是说o(一定)要匹配二次{n,}:至少匹配N次例如:foood o{2,} o(至少)要匹配次{n , m}:最少匹配N次,最多匹配M次例如:foood o{2,3} o最少匹配2次,最多匹配3次29.js中正则表达式通配符匹配的数字答: * : 匹配前面字符 0次或多次例如: zoo z* 就是说z如没找到可以不匹配,匹配的有多个z就全匹配+ : 匹配前面字符 1次或多次例如: zoo z+ 就是说z一定要匹配一次,匹配的有多个z就可以全匹配? : 匹配前面字符 0次或1次例如: zoo z? 就是说z可以匹配0次,最多匹配一次. : 点号是通配符除了换行\n30.js中的正则表达式里面的开和结束答: /^ : 开始$/ : 结束31.js中的正则表达式对象的方法答: test() , exec() , match()test()方法测试字符串,符合模式时返回true否则返回false 例如: varr=/he/ var str="HE" alert(r.test(str)) //返回falseexec()方法用正则表达式模式在字符串中运行查找,并返回包含该查找结果的一个数组[只要匹配的到的话就直接取出并返回],如果匹配不上的话,就直接返回nullmatch()方法它就是将所有匹配的内容,以(数组)的形式(全部返回)32.js中的正则表达式字符类答: 简单类 : var re = /[abc213]/; 将匹配abc213这6个字符中一个,只要有一个就可以如果a匹配到就不会往下面匹配直接输出a反向类 : var re = /[^abc]/;将匹配除abc之外的一个字符就是除了abc之外所有的都可以匹配范围类 : var re = /[a-b]/;将匹配a到b字母如果第一个匹配到a就不会再匹配直接输出,如果没有匹配到就继续匹配a-b里面的字母组合类 : var re = /[a-b 0-9 A-Z _]/; 将匹配字母数字和下划线如果a匹配到了就输出不会往下面匹配33.js中的正则表达式贪婪和懒惰答: 贪婪 : 就是将一组或整组字符当成一个匹配,如果匹配上了继续查询如果还有能匹配的继续直到一组字符匹配完输出贪婪自己的理解: 就是贪吃直到吃完懒惰:它首先将第一个字符当成匹配如果匹配上则退出,如果失败继续匹配,直到匹配合适为止输出懒惰自己的理解:就是吃包了就不吃了34.js中的正则表达式的方式有二种答: 1. new RegExp("匹配模式",[命令]); 是一个对象和数组一样2.var str = "abac" var reg = /at/; alert(reg.exec(str)) 这是字面量声明方式/blog/2009/08/learning_javascript_closures.html35:js的一些概念,js的核心(基本上谁都知道的东西,不必说出来)答:Js 是用于前台交易的嵌入式脚本语言,它是以字符串解析并以浏览器执行的,基于对象的语言,它与封装,继承,多态无关。

相关主题