一·JS相关概念

2017-11-06  本文已影响0人  饥人谷_小侯

1.JS基本概念

标识符

命名规约

var firstName;
var isSmall;
var hasClass;
var PI;
var MAX_COUNT;
function getName(){}
function Person(){}

变量

在JavaScript中变量是用来保存值的占位符,定义变量的时候要使用var运算符, 后面跟一个作为名称的标识符即可。

var message;

弱类型

int a = 2;
string b = "hello";
var message = 1; //message 类型就是数字
message = "hello world!"; //message 类型变为字符串

语句

var a = 1 + 2;
var sum = 1 + 2
var diff = 3 - 4;

变量提升

var a = 2;
var a;
a = 2;

注释

//为变量赋值
var a = 1; //赋值成功
/*
    下面定义个函数
    至于什么是函数
    且听下回分解
*/

    function getName(id){
        return 'Byron';
    }

关键字和保留字

2.认识Javascript

网页的组成:

网页 = Html+CSS+JavaScript

javascript

引入方式

<!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>标题</title>
    <link href="index.css" rel="stylesheet">
    <style>
        body{
            background: red;
        }
    </style>
    </head>
    <body>
        <p>
        </p>
        <script src="index.js"></script>
        <script>
            alert(1);
        </script>
    </body>
    </html>
浏览器渲染机制

白屏问题

FOUC (Flash of Unstyled Content) 无样式内容闪烁

如果把样式放在底部,对于IE浏览器,在某些场景下(点击链接,输入URL,使用书签进入等),会出现 FOUC 现象(逐步加载无样式的内容,等CSS加载后页面突然展现样式).对于 Firefox 会一直表现出 FOUC。

Javascript的放置位置

加载异步

    <script src="script.js"></script>

没有 defer 或 async,浏览器会立即加载并执行指定的脚本,“立即”指的是在渲染该 script 标签之下的文档元素之前,也就是说不等待后续载入的文档元素,读到就加载并执行。

    <script async src="script.js"></script>

有 async,加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步)。

    <script defer src="script.js"></script>

有 defer,加载后续文档元素的过程将和 script.js 的加载并行进行(异步),但 script.js 的执行要在所有元素解析完成之后,DOMContentLoaded 事件触发之前完成。

上一篇 下一篇

猜你喜欢

热点阅读