前端三层

JS角色

HTML5与CSS3搭配能完成页面的搭建和初期的美化,但是无法完成进行交互

JS历史

1995年由布兰登艾奇加入Netscape公司发明,前身是LiveScript。JAVA与JavaScript毫无关系。浏览器脚本有VBScript、JScript、JavaScript,经过时间推移,JS垄断了浏览器市场,JS在如今可以对办公软件进行开发,比如腾讯文档、管理系统等。

前端与后端语言

前端有HTML、CSS、JS等语言开发,比如各个平台上的浏览器页面,主要处理页面,而后端由服务器存储网页,是一台超强计算机,24h保持开机,由JAVA、PHP、Python等语言进行数据库的增删改查,主要处理数据,前后端通过HTTP协议通信。

JavaScript与ECMAScript

JavaScript体系

JS书写位置

注意:JS不能脱离HTML网页执行,但是NodeJS将会成为JS独立的运行平台。

<body>
     <script type = "text"/javascript>
        ...............
      </script>
</body>

其中,type = “text”/javascript 可省略不写,TAB键进行缩进。

或者新建一个myjs.js文件,在html中引用:

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

输出语句

◆alert()语句 -弹出警告框 ◆console.log0语句 -控制台输出


◆alert()是内置函数,函数就是功能的”封装”,调用函数需要使用圆括号 ◆()是函数的参数,如果是字符串,我们需要将它用引号包裹 ◆语句的末尾应该书写分号,请注意要在输入法为英语状态下输入 ◆执行到alert()语句,会自动暂停,只有点击确定后,才会执行下一句 ◆注释为//


◆console是JS的内置对象,通过“打点”可以调用它内置的log“方法”,所谓“方法”就是对象能够调用的函数。 ◆控制台右击浏览器检查调出,或者F12,注意console语句不会打断程序执行。


处理报错

语法错误:

Uncaught SyntaxError:Invalid or unexpected token
◆后面可能是发生错误的行号,有一行左右误差


引用错误: ◆eg: alert(hello);→忘记用引号包裹 ◆Uncaught ReferenceError:hello is not defined ◆未捕获的引用错误:hello没有被定义 或者函数拼写错误,也会报此错误


REPL环境

可以在浏览器控制台进行一些简单语句的测试,类似于Python,写完一条语句就执行一条

JS变量

◆变量是计算机语言中能储存计算结果或能表示值抽象概念 ◆变量不是数值本身,它们仅仅是一个用于存储数值的容器


◆要想使用变量,第一步就是声明它,并给它赋值 var a = 5; 使用var关键字定义变量 ◆更改变量值不写var a = 18; ◆当变量被赋值后,就可以使用它了 console.log(a); 注意:变量使用时不能使用引号


变量命名规则

优秀命名法: ◆驼峰命名法:mathTestScore ◆C风格:math_test_score ◆匈牙利命名法:iMathTestScore i提示变量类型

变量默认值

◆ 一个变量只定义,但没有赋初值,默认值是undefined ◆ 一个变量只有被var定义,并赋初值之后,才算正式初始 化完成 注意: ◆ 不用var定义,而直接将值赋予它,虽不引发报错,但会产生作用域问题。 ◆ 尝试使用一个既没有被var定义过,也没有赋过值的字符就会产生引用错误。

变量声明提升

console.log(a);//先使用变量 var a = 12;//后定义变量

◆ 变量声明的提升:你可以提前使用一个稍后才声明的变量,而不会引发异常 ◆ 在执行所有代码前,JS有预解析阶段,会预读所有变量的定义 注意: ◆ 变量声明提升只提升定义,不提升值,所以输出undefined