前端三大外围技能

HTML/CSS/JAVASCRIPT

JAVASCRIPT(JS)

  • 倒退历史

1995 网景 LiveScript->JavaScript
1996 微软 JScript
Ecma
TC39 ECMA-262
1997 ES1
ES5(ECMAScript5)->2015年6 ES6(ES2015)->....

  • 客户端JS的组成部分
    ES(外围语言) 变量、数据类型、函数、对象、数组,语句...
    DOM 文档对象模型
    BOM 浏览器对象模型

  • JS作用
    浏览器JS做网页特效
    手机APP
    游戏
    服务器端(node)
    ...

JS是一门脚本语言(潜在其余语言中执行) 解释型语言

根本语法

    • JS代码的地位
    • 行内式

      <div onclick="alert('hello js');">我是一个div</div>

      理解即可,局限大,个别不采纳

    • 内嵌式

      <script> alert('hello world');</script>
    • 外链式

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

      我的项目中大量应用

    • 正文

      <!-- html正文 -->js正文  单行正文 // .....   多行正文 /*   */
    • 语句

      以分号作为完结标记,辨别大小写输入语句alert('内容')  弹出窗口document.write() 把内容输入到页面中 反对标签console.log() 在控制台输入内容
    • 变量

      1 含意 在程序运行期间 其值能够产生扭转的量 实质上一个容器2 定义 var 变量名;  或一次定义多个变量     var a = 1, b, c = 3;3 赋值 var 变量名; 变量名 = 值;  var 变量名 = 值;4 变量名的命名标准  * 字母、数字、_、$组成     * 不能以数字结尾   * 辨别大小写 a A    * 不能是关键字和保留字     if/else/for... * 名字有语义  * 举荐小驼峰命名 如 studentName 多个单词组成,第二个单词首字母大写  *大驼峰-多个单词组成,每个单词首字母都大写 如MaxLength,个别用于类名的设置  *帕斯卡命名法-所有字母都小写,单词之间用_连贯 如max_length
    • 数据类型

                  根本数据类型(原始数据类型)             number 数值 string 字符串 boolean 布尔类型 null 空 undefined 未定义                对象数据类型(援用数据类型) 数组 函数  日期 数学 ...           number数值类型            0.1+0.2 === 0.3                string字符串           "abc\"d\""              \n 换行  \' \"  \t \\           null 空 undefined            null示意没有对象 该处不应该有值              undefined 示意短少值,此处应该有值,但没有定义       <script>   //根本数据类型(原始数据类型)    //对象数据类型(援用数据类型)数组 函数  日期 数学   //number数值 string 字符串,单双引号引起 boolean 布尔类型 null 空 undefined 未定义类型   var x = 10;   var y = 1.2;   console.log(typeof y);//number   var str = "hello";   var str2 = "桃之夭夭,灼灼其华";//string   var bool = true;   console.log(typeof bool);   var a = null;   var b;   console.log(typeof b);   console.log(0xf);   console.log(2.3e5);   console.log(0.1 + 0.2 === 0.3);//谬误 小数的精度失落问题,超过范畴   console.log(1.9e405);//1.79e307最大   console.log(typeof Infinity);//number   console.log(NaN);//number,不是数字的数字,但无奈示意进去   console.log(NaN === NaN);//false,自身就不是一个数,算不来也不对   console.log(NaN + 1);//NaN   var m = 12;   console.log(12 === NaN);//false   console.log(isNaN(m));//is  是否 true   console.log(isFinite(1.9e552));//是否在范畴内   </script>