前端笔试中容易碰到的知识点进行中

HTML/CSS

  1. Viewreport是meta属性,不是html5新增属性
  2. web表单登录中用到图形验证码的方式,服务器端生成验证码后一方面通过图片将验证码返回给客户端,同时在服务器端保存文本的验证码,由服务器端验证输入内容是否正确。
  3. obj.options[obj.selectedIndex].text获取表单select中被选择的文本。
  4. Readonly = true时,页面上不能更改,但是input值会随着表单提交。

    Disabled = true时,页面上不能更改,input值不会随表单提交。
  5. html5标准的链接默认都是带下划线的

    bootstrap链接只有在hover状态下才带下划线
  6. iframe可用在以下几个场景中:
    1. 典型系统结构,左侧是功能树,右侧就是一些常见的table或者表单之类。为了一个功能,单独分离出来,采用iframe。
    2. ajax上传文件
    3. 加在别的网站内容,例如gogle广告,网站流量分析。
    4. 在上传图片时,不用flash实现无刷新。
    5. 跨域访问的时候可以用到iframe,使用iframe请求不同域名下的资源。
  7. bootstrap3浏览器兼容
bootstrap3兼容性.png
  1. bootstrap 屏幕兼容栅格参数
屏幕兼容.png
  1. Ajax 与 flash区别

    1. Ajax的优势:
      1. 可搜索性
      2. 开放性
      3. 费用
      4. 易用性
      5. 易于开发。
    2. Flash的优势:
      1. 多媒体处理
      2. 兼容性
      3. 矢量图形
      4. 客户端资源调度
    3. Ajax的劣势:
      1. 它可能破坏浏览器的后退功能
      2. 使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中 ,不过这些都有相关方法解决。
    4. Flash的劣势:
      1. 二进制格式
      2. 格式私有
      3. flash 文件经常会很大,用户第一次使用的时候需要忍耐较长的等待时间
      4. 性能问题
  2. 置换元素与不可替换元素

    1. 置换元素:浏览器根据元素的标签和属性,来决定元素的具体显示内容。
    2. 不可替换元素:(x)html 的大多数元素是不可替换元素,即其内容直接表现给用户端(如浏览器)。例如: <label>label中的内容</label> 标签<label>是一个非置换元素,文字label中的内容”将全被显示。
  3. i++与++i的区别

    1. i++表示先把i传值给函数,然后再将i+1;
    2. ++i表示现将i+1再传值给函数
  4. 排序稳定性
    不稳定:快选堆希
    稳 定:插冒归基

  5. 使用 for in 循环数组中的元素会枚举原型链上的所有属性,过滤这些属性的方式是使用hasOwnProperty函数

    for in可以获取object的所有属性,包括自定义属性以及原型链属性。

    for(var attr in object){
      console.log(attr+":"object[attr]);
    } hasOwnProperty()只能获取自定义属性,无法获取原型链属性。

  6. JSONP的优缺点

    1. 优点
      1. 它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制,JSONP可以跨越同源策略;
      2. 它的兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支持
      3. 在请求完毕后可以通过调用callback的方式回传结果。将回调方法的权限给了调用方。这个就相当于将controller层和view层终于分开了。我提供的jsonp服务只提供纯服务的数据,至于提供服务以 后的页面渲染和后续view操作都由调用者来自己定义就好了。如果有两个页面需要渲染同一份数据,你们只需要有不同的渲染逻辑就可以了,逻辑都可以使用同 一个jsonp服务。
    2. 缺点
      1. 它只支持GET请求而不支持POST等其它类型的HTTP请求
      2. 它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。
      3. jsonp在调用失败的时候不会返回各种HTTP状态码。
      4. 缺点是安全性。万一假如提供jsonp的服务存在页面注入漏洞,即它返回的javascript的内容被人控制的。那么结果是什么?所有调用这个 jsonp的网站都会存在漏洞。于是无法把危险控制在一个域名下…所以在使用jsonp的时候必须要保证使用的jsonp服务必须是安全可信的。
  7. 行内块元素有,input textarea object img select,默认属性是inline-block。

  8. web storage有以下几种对象:

    1. sessionStorage:存储特定于某个会话的数据,该数据只保留到浏览器关闭。
    2. globalStorage:目的是跨越会话存储数据,不过要指定哪些域可以访问该数据。如果不使用 removeItem() 或 delete 删除,或者用户未清除浏览器缓存,存储在globalStorage上的数据会一直保留在磁盘上。所以globalStorage非常适合在客户端存储文档或长期保留用户偏好设置。
    3. localStorage:在HTML5中作为持久保持客户端数据的方案取代了globalStorage。它不能被指定访问规则,要访问localStorage,页面必须来自同一个域名,使用同一种协议,在同一个端口上。它的数据也保留到通过JavaScript删除或用户清除浏览器缓存。
  9. 函数加括号与不加括号的区别
    简单来说,fun是调用整个函数,fun()得到的的是函数调用之后的返回值。

    所以在setTimeOut(fun,500)或者addEventListener('click',fun)中调用的都是函数,所以不能加括号。

    而setTimeOut如果加引号的话,就是要加括号生效。setTimeOut('fun',500).

  10. dom2规定的时间流包括三个阶段:1. 事件捕获 2. 处于目标阶段(事件处理) 3. 事件冒泡阶段

  11. 各种存储方案简单对比

    • Cookies:浏览器均支持,容量为4KB
    • UserData:仅IE支持,容量为64KB
    • Flash:100KB,非HTML原生,需要插件支持
    • Google Gears SQLite:需要插件支持,容量无限制
    • LocalStorage:HTML5,容量为5M
    • SessionStorage:HTML5,容量为5M
    • globalStorage:Firefox独有的,Firefox3开始就不支持这个方法。
      UserData仅IE支持,Google Gears SQLite需要插件,Flash已经伴随着HTML5的出现退出了历史舞台,因此现在主要需要了解的只有:Cookie,LocalStorage,SessionStorage;
  12. JavaScript中只有函数作用域的概念,没有块级作用域的概念。
    class="lang-js">var msg='hello'; for (var i=0; i<10; i++) { var msg='hello'+i*2+i; } alert(msg);
    输出结果为hello189,而不是hello。

  13. var x = new Boolean(false); 此时的x为object,所以if(x)为true。如果var y = Boolean(0);此时的y为false是布尔值,所以if(y)为false。

  14. console.log(Number("")); //0
    console.log(Number(null)); //0
    console.log(Number(undefined)); //NaN

    console.log(parseInt("")); //NaN
    console.log(parseInt(null)); //NaN
    console.log(parseInt(undefined)); //NaN

    console.log(null == 0); //false
    console.log(undefined == 0); //false

    • 一个promise可能有三种状态:等待(pending)、已完成(fulfilled)、已拒绝(rejected)
    • 一个promise的状态只可能从“等待”转到“完成”态或者“拒绝”态,不能逆向转换,同时“完成”态和“拒绝”态不能相互转换
    • promise必须实现then方法(可以说,then就是promise的核心),而且then必须返回一个promise,同一个promise的then可以调用多次,并且回调的执行顺序跟它们被定义时的顺序一致
    • then方法接受两个参数,第一个参数是成功时的回调,在promise由“等待”态转换到“完成”态时调用,另一个是失败时的回调,在promise由“等待”态转换到“拒绝”态时调用。同时,then可以接受另一个promise传入,也接受一个“类then”的对象或方法,即thenable对象。
    1. DNS就是将域名翻译成IP地址。
    2. 主要用UDP,但是当请求字节过长超过512字节时用TCP协议,将其分割成多个片段传输。
    3. DNS协议默认端口号是53。
    4. 操作系统的DNS缓存:windows DNS缓存的默认值是 MaxCacheTTL,它的默认值是86400s,也就是一天。macOS 严格遵循DNS协议中的TTL。
    5. 游览器的DNS缓存:chrome对每个域名会默认缓存60s;IE将DNS缓存30min;Firefox默认缓存时间只有1分钟;Safari约为10S。
  15. typeof Symbol() //"symbol"
    typeof Number() //"number"
    typeof String() //"string"
    typeof Function() //"function"
    typeof Object() //"object"
    typeof Boolean() //"boolean"
    typeof null //"object"
    typeof undefined //"undefined"

  16. var bb = 1;
    function aa(bb) {
    bb = 2;
    alert(bb);
    };
    aa(bb);
    alert(bb);
    弹出2,1;因为传入了参数bb,所以虽然bb在函数体内没有用var定义,但是依然作用后被销毁,若改成
    <pre>var bb = 1;
    function aa(bb) {
    var bb = 2;
    alert(bb);
    };
    aa(bb);
    alert(bb);</pre>
    则弹出2,2,。

  17. JavaScript原始数据类型:String,Null,Undefined,Boolean,Number,Symbol(ES6新增)。
    基本数据类型:String,Null,Undefined,Boolean,Number,Symbol(ES6新增);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容

  • 目录 1、谈谈你对Ajax的理解?(概念、特点、作用) 2、说说你对延迟对象deferred的理解? 3、什么是跨...
    w_zhuan阅读 987评论 1 28
  • <a name='html'>HTML</a> Doctype作用?标准模式与兼容模式各有什么区别? (1)、<...
    clark124阅读 3,462评论 1 19
  • 本文转发自github, 原文地址 <a name='js'>JavaScript</a> 介绍js的基本数据类型...
    XDUZ阅读 1,037评论 1 11
  • 1.几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构? 基本数据类型:Undefined、Nul...
    极乐君阅读 5,503评论 0 106
  • 我们都是人间的过客,只知来路,不知归途。。。。。。 我们都是命运手下朝生暮死的蜉蝣,仓促之间便隐隐老去。 岁月并不...
    沧海浮云阅读 213评论 0 0