2020.11.11——引入JS、数据类型、ECMAScript

JS基础 & CSS面试题 --2020.11.11

a.JS基础

  • i.什么是Javascript, 什么是ECMAScript,两者之间的关系

    1.ECMAScript

    即 ECMA-262 定义的语言,并不局限于 Web 浏览器。事实上,这门语言没有输入和输出之类的方法。ECMA-262 将这门语言作为一个基准来定义,以便在它之上再构建更稳健的脚本语言。
    Web 浏览器只是 ECMAScript 实现可能存在的一种宿主环境(host environment)。宿主环境提供ECMAScript 的基准实现和与环境自身交互必需的扩展。扩展(比如 DOM)使用ECMAScript 核心类型和语法,提供特定于环境的额外功能。其他宿主环境还有服务器端 JavaScript 平台 Node.js和即将被淘汰的 Adobe Flash。

    如果不涉及浏览器的话,ECMA-262 到底定义了什么?在基本的层面,它描述这门语言的如下部分:

    • 语法
    • 类型
    • 语句
    • 关键字
    • 保留字
    • 操作符
    • 全局对象

    ECMAScript 只是对实现这个规范描述的所有方面的一门语言的称呼。JavaScript 实现了ECMAScript。

    2.JavaScript

     是一门用来与网页交互的脚本语言,包含以下三个组成部分。
    
    • ECMAScript:由 ECMA-262 定义并提供核心功能。
    • 文档对象模型(DOM):提供与网页内容交互的方法和接口。
    • 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。
  • ii.HTML文件中引入JS的方式

    将 JavaScript 插入 HTML 的主要方法是使用< script > 元素。
    < script> 元素有下列 8 个属性:

    • async :可选。表示应该立即开始下载脚本,但不能阻止其他页面动作,比如下载资源或等待其他脚本加载。只对外部脚本文件有效。

    • charset :可选。使用 src 属性指定的代码字符集。这个属性很少使用,因为大多数浏览器不在乎它的值。

    • crossorigin :可选。配置相关请求的CORS(跨源资源共享)设置。默认不使用CORS。 crossorigin=“anonymous” 配置文件请求不必设置凭据标志。 crossorigin=“use-credentials”
      设置凭据标志,意味着出站请求会包含凭据。

    • defer :可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本文件有效。在 IE7 及更早的版本中,对行内脚本也可以指定这个属性。

    • integrity :可选。允许比对接收到的资源和指定的加密签名以验证子资源完整性(SRI,Subresource Integrity)。如果接收到的资源的签名与这个属性指定的签名不匹配,则页面会报错,脚本不会执行。这个属性可以用于确保内容分发网络(CDN,Content
      Delivery Network)不会提供恶意内容。

    • language :废弃。最初用于表示代码块中的脚本语言(如 “JavaScript” 、 "JavaScript 1.2"或 “VBScript” )。大多数浏览器都会忽略这个属性,不应该再使用它。

    • src :可选。表示包含要执行的代码的外部文件。

    • type :可选。代替 language ,表示代码块中脚本语言的内容类型(也称 MIME 类型)。按照惯例,这个值始终都是"text/javascript" ,尽管 “text/javascript” 和"text/ecmascript"都已经废弃了。JavaScript 文件的 MIME 类型通常是"application/x-javascript" ,不过给type 属性这个值有可能导致脚本被忽略。在非 IE的浏览器中有效的其他值还有"application/javascript" 和"application/ecmascript" 。如果这个值是 module ,则代码会被当成 ES6 模块,而且只有这时候代码中才能出现 import 和 export 关键字。

    使用 < script> 的方式有两种:

    1.通过它直接在网页中嵌入 JavaScript 代码
    2.以及通过它在网页中包含外部 JavaScript 文件

    要嵌入行内 JavaScript 代码,直接把代码放在 < script> 元素中就行:
    < script>
    function sayHi() {
    console.log(“Hi!”);
    }
    < /script>

    要包含外部文件中的 JavaScript,就必须使用 src 属性。这个属性的值是一个 URL,指向包含JavaScript 代码的文件,比如:
    < script src=“example.js”>
    这个例子在页面中加载了一个名为 example.js 的外部文件。文件本身只需包含要放在 < script> 的起始及结束标签中间的 JavaScript 代码。

    另外,使用了 src 属性的 标签中再包含其他JavaScript 代码。如果两者都提供的话,则浏览器只会下载并执行脚本文件,从而忽略行内代码。

  • iii.JS中常见的几种数据类型

    • 数值类型(Number)
      一切数字都是数值类型(包括:十进制,二进制,十六进制,八进制等)
      如:
      var a=1;

    • 字符串类型(String)
      被引号裹的所有内容(可以是单引号,可以是双引号)
      如:
      var b = “hello world”;
      var c = “34”;
      var d = ‘hello12’;

    • 布尔类型(Boolean)
      对于布尔值,目前只有false和true两种
      如:
      var e = true;
      var f = false;

    • Null类型(Null)
      它只有一个值,就是它本身自己null,它表示空的意思
      如:
      var g = null;

    • undefined类型(undefined)
      它只有一个值,就是它本身自己undefined,它表示没有值的意思。我们常见 它就是在给它定义了却没有赋值时见到。
      如:
      var k;
      console.log(k);

b.CSS面试题

  • RGBA() 与 opacity 在透明效果上有什么区别?

    1. opacity 是属性,rgba()是函数,计算之后是个属性值;
    2. opacity 作用于元素和元素的内容,内容会继承元素的透明度,取值0-1;
    3. rgba() 一般作为背景色 background-color 或者颜色 color 的属性值,透明度由其中的 alpha 值生效,取值0-1;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值