JS入门基础

作者: 尹萨萨 | 来源:发表于2016-09-05 19:05 被阅读0次

`###1.CSS和JS在网页中的放置顺序是怎样的?
由于页面渲染规则及相关属性的关系
css外部引入代码一般放置于head标签之内;css文件可以几个同时进行加载
而JS外部引入的代码则放在所有元素之后</body>标签之前;js只能单个逐步加载

css有三种放入方式

  • 通过外部样式表放入
    link元素
    <head>
    <link rel="sheetstyle" type="text/css" href="example.css">
    </head>
    
   **@import元素**
  <style>
  @import url(example.css)可放入样式表内部,但必须放在其他样式元素之上,否则可能被忽略
  </style>

- 通过内联样式放入

<style>
a { text-decoration:none;}
p {border: 1px solid #eee;}
</style>

- 通过直接在元素标签内加入样式引入

<div style="display:inline-block">


>JS有两种引入方式

- 通过引入外部JS文件

<script type="text/javascript" src="example.js"></script>

- 直接嵌入js代码

<script type="text/javascript">
function sayHi(){
alert("Hi");
}
</script>

      
###2.解释白屏和FOUC
- 白屏产生原因
当样式表被放在页面底端的时候,对于某些情况(新窗口打开,刷新等),浏览器不会由上而下对代码进行逐一加载,而是会等到加载完所有css样式后,统一 进行,而这段时间内,页面都会展现内容,所以会出现白屏;
另外把js文件放入页面顶部,也会产生白屏现象。

- FOUC(flash of unstyle content)
同样的当样式放入页面底部时,(点击链接,输入url,使用书签进入时),浏览器会逐步加载无样式内容,当css全部加载完毕后,突然进行样式展现,产生fouc的情况。


###3.async和defer的作用是什么?有什么区别
**都只适用于外部js文件**
- async立即下载js文件,即排在js后续的文档也可并行开始,并且不影响其他文件的运行。
    不保证运行的顺序。例如两个依次排列的js文件,第二个js有可能先于第一个运行。
- defer 立即下载js文件,并且当所有文档完全解析后在运行;
  可保证运行的顺序,按照js文件的先后顺序进行加载,并且所有文档解析后,再加载js文件。

###4.简述网页的渲染机制

- 首先加载html标签,构建DOM tree;
- 其次对于css样式进行解析,构建CSS rule tree
- 解析Javascript脚本,主要是通过DOM API和CSSOM API来操作DOM Tree和CSS Rule Tree.
- 所有解析文档组合构建 render tree;
- 集合redner tree的节点,Layout – 定位坐标和大小
- 最后进行页面绘制正式开画

[参考文章](http://www.zhihu.com/question/20117417)

###5.JavaScript 定义了几种数据类型? 哪些是简单类型?哪些是复杂类型?
JavaScript定义了6中数据类型,5个简单类型,1个复杂类型;
- 简单类型
  -  null
  - undefind
  - number
  - string
  - boolean
- 复杂类型
 - object

###6.NaN、undefined、null分别代表什么?
- NaN
用来表示属于number数字类型的的非数字
- nudefined
用来表示未被定义的声明类型
- null
用来表示一个空的指针


###7.typeof和instanceof的作用和区别?
- typeof 运算符,可以判断一个变量的数据类型。
在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 "object"。

- instanceof 运算符与 typeof 运算符相似,用于识别正在处理的对象的类型。与 typeof 方法不同的是,instanceof 方法要求开发者明确地确认对象为某特定类型。


 [instanceof 详解](https://www.ibm.com/developerworks/cn/web/1306_jiangjj_jsinstanceof/)
[运算符优先级](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence)

版权归本人及饥人谷所有.

相关文章

  • Vue.js基础入门

    今天,给大家分享下Vue.js基础入门,我主要由了解Vue.js、开始起步、语法三个部分简单的写了基础入门知识,希...

  • Vue.js基础入门

    今天,给大家分享下Vue.js基础入门,我主要由了解Vue.js、开始起步、语法三个部分简单的写了基础入门知识,希...

  • 渐进式框架 Vue.js 基础入门及简单编程演示

    渐进式框架 Vue.js 基础入门及简单编程演示 ---------------------- 概念基础 ----...

  • 前端学习

    初级阶段(静态网页制作、JS编程入门) 1.Photoshop入门 图像处理基础知识、图像处理基础知识、分辨率、图...

  • React Native学习提纲(简)

    React Native学习提纲 一、 React.js入门基础 1.基础HTML/CSS与基础开发工具使用 ht...

  • JS入门基础

    `###1.CSS和JS在网页中的放置顺序是怎样的?由于页面渲染规则及相关属性的关系css外部引入代码一般放置于h...

  • 网页开发所用网站教程

    1、Javascript零基础超快速入门(7课时搞定JS基础) https://www.bilibili.com/...

  • webpack

    入门基础 webpack介绍 webpack生命周期 webpack打包的整个过程 1)分模块去定义js。js中要...

  • JavaScript基础篇(一):模块

    注:该文章属于js基础篇,不属于入门篇,默认你对js已经有了一定的了解。 什么是模块? 模块做为js中最基础的东西...

  • 前端Node.js 基础

    一 .Node.js 基础 目录 Node开发概述Node运行环境搭建Node.js快速入门 1. Node开发概...

网友评论

    本文标题:JS入门基础

    本文链接:https://www.haomeiwen.com/subject/dwkhettx.html