zoukankan      html  css  js  c++  java
  • Web大前端面试题-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还只是对静态内容加速,
    对动态加速效果不好;
    而双线对动态加速的效果跟静态是一样的。
  • 相关阅读:
    万能五笔的广告怎么去掉
    JS版日期格式化和解析工具类,毫秒级
    Toast信息提示:下拉收起(基于jQuery)(app信息提示更新)
    MUI右滑关闭窗口用Webview的drag实现
    mui 列表项左右滑删除功能升级(仿微信左滑 点击删除后出现确认删除)
    修正 Mui 下拉上拉刷新功能
    javascript中new Date()的浏览器兼容性问题
    Mui 下拉刷新,刷新完成功能实现
    mysql 时间类型精确到毫秒、微秒及其处理
    Windows 上如何安装Sqlite
  • 原文地址:https://www.cnblogs.com/qingchunshiguang/p/10413709.html
Copyright © 2011-2022 走看看