zoukankan      html  css  js  c++  java
  • 撩课-Web大前端每天5道面试题-Day6

    1.请说明ECMAScript, JavaScript, Jscript之间的关系?

    ECMAScript提供脚本语言必须遵守的规则、
    细节和准则,是脚本语言的规范。
    比如:ES5,ES6就是具体的一js版本。
    
    JavaScript是ECMAScript的一个分支版本, 
    JavaScript 实现了多数 ECMA-262 中
    描述的 ECMAScript 规范,但存在少数差异。 
    
    JScript是微软公司对ECMA-262语言规范的
    一种实现,除了少数例外(这是为了保持向后兼容 ),
    微软公司宣称JScript完全实现了ECMA标准.
    
    关系:
    JavaScript和JScript都是ECMAScript的版本分支, 
    二者在语法上没有多大的区别; 只不过一个是
    NetScape公司的, 一个是微软的; IE系列默认是
    JScript, 其它的则反之用JavaScript。

    2. 页面加载过程中可能触发哪些事件? 它们的顺序是?

    页面加载时,大致可以分为以下几个步骤:
    1)  开始解析HTML文档结构
    2)  加载外部样式表及JavaScript脚本
    3)  解析执行JavaScript脚本
    4)  DOM树渲染完成
    5)  加载未完成的外部资源(如 图片)
    6)  页面加载成功
    
    执行顺序:
    1)  document readystatechange事件
    2)  document DOMContentLoaded事件 
    3)  window load事件

    3. 函数中在声明变量a前使用a会产生错误吗? 为什么?

    不会, JS中能够进行变量作用域提升, 
    把所有变量、函数的声明提升到当前
    作用域的最前面, 但不进行赋值操作;
    
    所以可能造成获取的值是undefined。

    4. 什么是hash, 以及hashchange事件?

    先了解下什么是hash:
    
    hash即URL中"#"字符后面的部分。
    
    a) 使用浏览器访问网页时,
    如果网页URL中带有hash,
    页面就会定位到id(或name)
    与hash值一样的元素的位置;
    
    b) hash还有另一个特点,
    它的改变不会导致页面重新加载;
    
    c) hash值浏览器是不会随请求发送到服务器端的;
    
    d) 通过window.location.hash属性获取和设置hash值。
    
    window.location.hash值的变化会直接
    反应到浏览器地址栏(#后面的部分会发生变化),
    同时,浏览器地址栏hash值的变化也会触发
    window.location.hash值的变化,
    从而触发onhashchange事件。
    
    再来了解下什么是hashchange事件:
    
    a) 当URL的片段标识符更改时,
    将触发hashchange事件
    (跟在#符号后面的URL部分,包括#符号)
    
    b) hashchange事件触发时,
    事件对象会有hash改变前的URL
    (oldURL)和hash改变后的URL
    (newURL)两个属性。

    5. 什么是CDN, CDN对于网站有什么意义, 它有什么样的缺点?

    CDN又称为内容分发网络;  本意在于
    尽可能避开互联网上有可能影响数据
    传输速度和稳定性的瓶颈和环节,
    使内容传输的更快、更稳定。
    
    主要目的:
    
    解决因分布、带宽、服务器性能带来的访问延迟问题,
    适用于站点加速、点播、直播等场景。
    
    使用户可就近取得所需内容,解决 Internet网络拥挤的状况,
    提高用户访问网站的响应速度和成功率。
    
    缺点:
    a) 实施复杂 , 投资大;
    
    b) 目前大部分的CDN还只是对静态内容加速,
    对动态加速效果不好;
    而双线对动态加速的效果跟静态是一样的。
  • 相关阅读:
    objc之method&class attributes
    iOS之Export UIAutomation script
    js's forin vs oc's forin
    iOS新加速计事件
    Mac之Font管理
    iOS之VoiceOver
    OC之initialize
    C++常见问题
    objc新老runtime接口类型对比
    dlopen之mode参数详解
  • 原文地址:https://www.cnblogs.com/gxq666/p/10081183.html
Copyright © 2011-2022 走看看