Unit01: JavaScript 概述 、 JavaScript 基础语法 、 变量和常量 、 数据类型

3.JavaScript:

     -- 编写交互“程序”的语言

     -- 运行于js解释器/引擎中

     -- 解释执行:逐行读取,先读先执行,后读后执行

 

  js发展史:

       *** 1996年 ECMAScript标准 -->定义js的“核心语法”;

                  Netscape  -->遵照标准,实现了JavaScript语言

                  Microsoft -->遵照标准,实现了JScript语言

 

       *** 2000年 W3C:DOM标准 -->操作“网页内容”的标准,所有浏览器都兼容的标准;

 

       *** BOM:操作“浏览器窗口”的编程接口;

 

           js=ECMAScript标准 + DOM标准 + BOM;

 

           2004年 Netscape倒闭 --> Mozilla 出现(Netscape提供开元代码):firefox

 

  js的用途:

       客户端JavaScript;

         -- 客户端数据计算;

         -- 表单输入验证;

         -- 浏览器时间的触发和处理;

         -- 网页特效显示效果操作;

         -- ...

 

  浏览器内核:

       -- 内容排版引擎

       -- 脚本解释器引擎

          Chrome V8引擎 元代码

 

  如何运行:

       -- 浏览器内置引擎;

       -- 独立安装js引擎;node js;

 

  如何编写:4种方式

       -- 直接在浏览器“控制台(F12)”中,编写js脚本:(空白页:about:blank)

          console:控制台,编写和调试js程序的窗口;

          比如:

          console.log("Hello world!");

          console:特指控制台窗口;

          .:          的;

          log:    console中提供的一个功能;

                 接受一个字符串参数,在控制台输出该字符;

 

                 *** 关键字区分大小写

 

                 *** console控制台快捷键

                     Enter       执行;

                     Shift+Enter 换行;

                     ↑

                     ↓

 

       -- 网页中编写js脚本:

          script元素中;可以放在网页任何位置;

          随网页加载解释执行

          <script>

              document.write("HELLO WORLD! &lt;script&gt;<br />换行");

              //DOCUMENT 文档 当前网页;

              //write 编写;遵循HTML语法;

              //document.write 内容写在body里;

              //write里换行 :<br />

          </script>

          单独js文件保存js脚本程序:

          -- 1.创建

          -- 2.引入:<script src=""></script>

 

          ***脚本程序:不需要预编译 ,边解释边执行;

 

       -- 元素的事件处理程序中编写:

          事件触发执行;

              <button onclick="window.alert('click windowAlert')">click me</button>

              <!------------当前窗口 的 警告框--------->

              <button onclick="document.write('click documentWrite')">click me</button>

              <!--------------当前网页所有内容被“替换”成document.write输出的内容--------->

         

  如何调试:

    bug:程序中的一切错误;

    debug:发现错误,解决错误;

    js程序出错:希望的效果没出来;--> F12 --> console;

       console:

              错误信息:3部分;

              - 错误类型

              - 错误原因

              - 出错位置的链接

 

       出错现象:出错位置同script下的程序;

                出错位置前的程序正常执行;

                出错位置及出错位置后的程序不执行;

 

                其他的script不受影响

 

【变量】

- 内存中存贮一个"1个"数据的存贮空间,再起个名字;

- 程序中的数据都要先用变量保存,再处理;

- 如何使用变量:

         -- 声明:在内存中创建一个新变量

                 var 变量名;

                 --- 变量命名:

                     1.不能以数字开头;

                     2.不能用保留字;

                     3.见名知意;

                     4.驼峰命名:listStyleType;

 

         -- 赋值:将一个数据存入变量中;没赋值的默认是undefined;

                 变量名=值;

                 =:将=右边的值存入=左边的变量中保存;

                   对已有值的变量,新值替换旧值;

 

         *** 申明同时初始化:第一次给变量赋值;

              var 变量名=值;

        

 

         -- 取值:从变量中取出数据进行运算;

                 在程序任何位置只要使用"变量名"等效于直接使用变量名的值;

 

- 特殊情况:2 *******************************************************************

         -- 为一个从未申明的变量赋值:不会出错;会创建同名变量;

            会自动创建同名变量,在保存数据;

 

         -- 从一个从未申明的变量中取值:“会出错”;       

            referenceError:找不到对象,变量未申明;

 

********** 申明提前

       在程序正式执行前,都会将“所有var申明的变量提前”到开始位置,集中创建;赋值留在原地;***

       /*只要判断申明提前的问题,都要先提前,在判断输出*/

 

【常量】

- 一旦申明并初始化后,值不可改变的变量;

- when:只要保存一旦创建,不可擅自改变的量时;

- How :const 常量名=值;

       π等;

       常量名都要大写;PAI=3.1415926;

       常量的值不能改变;

 

/**

       **1弧度=1r

       **1周=2πr

       **1周=2π弧度

       **360角度=2π 弧度

       **1 角度=π/180 弧度

*/   

 

【数据类型】

- 内存中储存不同数据的储存格式;

js中数据类型:2大类;

1.原始数据:值保存在变量本地的数据类型;5种

       - Number类型;

              -- 保存数字的类型,不加引号;

                 when:要参与算数计算,比较大小;

              -- 保存数字的类型,加引号;

                 when:字符串;

              所占空间:64位二进制数字保存;8字节;

                       64Bit=8bytes

                       00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

              强调:数字所占空间与数字大小无关;所有数字都占8字节;

 

              ***舍入误差:因为计算机无法精确表示1/10(二进制计算);导致计算机出现误差;***************

                 解决方法:前面按8位四舍五入,最后一步按两位小数四舍五入;

                 n.toFixed(2);将n按2位小数四舍五入;

 

              1GB=1024MB

              1MB=1024KB

              1KB=1024bytes

              1bytes=8Bit

 

              unitPrice 单价

              total     总价

              money

              change    找零

 

       - String类型;

              只要是String类型必须带引号;

              when:储存文本或仅用于显示的数字;

              所占空间:js的程序内存中,字符都是用unicode表示的;

                     unicode:对全球主要语言中的每个字符都编一个号;计算机只认识0和1(二进制);

                             英文字母、标点:1字节;

                             汉字:2字节;

 

                            var str="一";            汉字

                            str.charCodeAt(0);  编号 19968

                            var n=19968;

                            n.toString(2);         二进制数字 "100111000000000"

 

                            var yun="云";

                            yun.charCodeAt(0)

                            20113

                            var n=21521;

                            n.toString(2)

                            "101010000010001"

                            var n=25104;

                            n.toString(2)

                            "110001000010000"

                            var n=20113;

                            n.toString(2)

                            "100111010010001"

             

              *** 字符串一旦创建,不能改变;

                 要想改变,只能创建新字符串,替换旧字符串;(程序自动执行)

              +:字符串连接;

 

              *** 每个英文字符占1bytes(1字节),每个汉字占2bytes(2字节);

 

       - Boolean 真、假;

              when:表示二选一的值时;

       - undefined 只有一个值undefined;

       - null:不指向任何地址;

 

2.引用类型:值不保存在变量本地的数据类型

posted @ 2017-02-16 17:14  xiangcy  阅读(164)  评论(0编辑  收藏  举报