阶段二 day01 js基础

138 阅读2分钟

JavaScript

1.什么是js
与网页进行交互的脚本语言,有一定的逻辑性
脚本特点:辅助,简单,即写即所得
2.JavaScript 语言的特点
脚本语言 即写即所得
基于对象 面向对象,同时也支持面向过程
简单
动态性
跨平台 现在的js 可以在客户端上运行 可以在服务端运行 客户端运行:只要能装浏览器的地方,就能运行js 服务端运行:window server Linux...基于 Nodejs
3js的组成部分
ECMAScript 定义语法规范 保留字 关键字
DOM档对象类型
BOM 浏览器对象模型 控制浏览器的 前进 后退...

image.png

Javascript书写

1, 导入JavaScript标签:

<script ype=“text/javascript”></script>

2, 在标签中间写js代码
    <script type="text/JavaScript">
    //给用户使用
    alert("我是提示框!!!!");

    document.write("我被输出到页面!")
    document.write("<h1>我是不是 很大</h1>")

    // 给我们开发者使用
     console.log("我在控制台输出,我是给程序员看的")

    </script>

注意:

1 document.write可以输出任何HTML的代码

2 script标签可以出现多次, 且可以出现在html文件的任何地方, 建议写在head之间; 另外,同一个文件中Javascript和HTML代码, 它们的执行顺序都是自上而下,谁在前就谁先执行, 谁在后就后执行.

3, 注释
    <script>
      // 单行注释
      // console.log("11111");

      //多行注释

      /*多行注释*/

      /*console.log(1111);
        console.log(1111);
        console.log(1111);
      */

      //单行注释   ctrl + /
      //块注释     shift+ ctrl + /

    </script>
4,js的引入
    <!--  写 / 没有路径提示,就装一个 path Intellisense插件 -->
    <!-- 如果 script 使用src属性,就在标签的中间,不能在写其他的代码 -->
    <script src="./js/index.js">
    </script>

    <!-- 想运行 alert,再写一个script标签  -->
    <script>
      alert("台上有一位靓仔!");
    </script>
    
<!-- 
    src: 引入外面的js文件  重点
    defer  
    async 
     defer和async 都是异步加载
       async 异步加载 + 代码加载完成后立即触发(执行)
       defer 异步加载 + 页面解析完后,才触发(执行)
       注意:"defer和async要和src结合使用"
    charset:设置字符集的编码  gb2310, utf-8,utf-16  utf-8 万国码  (了解)
   -->
<script>标签的属性: 
    src 表示要引入的外部文件
    type 表示脚本语言的类型  text/javascript,默认值就是它.
    language已废弃。原来用于代码使用的脚本语言。由于大多数浏览器忽略它,所以不要用了。
    defer:可选。(等页面加载完成后,才执行js)表示脚本可以延迟到文档完全被解析和显示之后再执行。由于大多数浏览器不支持,故很少用。 async
    charset:可选。表示通过 src 属性指定的字符集。由于大多数浏览器忽略它,所以很少有人用它。

变量的声明

    <!-- 
    1.写一个script标签 
    2.使用var关键字 varible 
    3.运行
    
    name 是window对象的一个属性
  -->
    <script>

      console.log("-------声明变量---------");
      // console.log(name);
      //1.用var 声明变量,而变量名称 sName
      var sName;  //有值,是 undefined的值  (undefined:未定义)
      console.log(sName);  //声明变量,未赋值的默认值是undefined 
      //2.给sName赋予初始值
      sName = "刘德华";
      console.log(sName);   //刘德华


      //2.直接声明变量,并且赋予初始值
      console.log("-------声明变量,并且赋予初始值---------");
      var age = 20;
      console.log(age); //20

      //3.如果有多个变量
      console.log("-------如果有多个变量---------");
      // =  等于符号,是把右边的值,赋到左边, 使用"逗号"隔开
      var myage = 20, mysex = "男", myaddress = "中国";
      console.log(myage); //20
      console.log(mysex); //男
      console.log(myaddress); //中国



      // var 变量名称 = "值";
      // var myName = "辣椒种子";
      // console.log(myName);

      //js属于弱类型语言,弱类型语言变量的值可以随时修改

      var myAge;
      myAge = 30;
      // console.log(myAge);
      console.log(typeof myAge);  //number 数值
      myAge = "三十";
      // myAge = "999";
      console.log(myAge);
      console.log(typeof myAge);  // string


      var var1 = 20;
      console.log(var1);



      var Abstract = "你好";
      console.log(Abstract);

      // vscode, Hbiulid, webs..

      // var num = 100;
      // var anum = 20;
      // var bnum = 30;
      // var cnum = 30
      // var enum=30;

      // var a = "刘德华";
      // var b = 20;
      // console.log(sName);


      //变量命名规则
      //1. 只能是数字,字母,下划线,$
      //2. 不能以数字开头
      //3. 不能是关键字和保留字
      //4. 严格区分大小写
      //5. 遵循驼峰命名法
      //     小驼峰 变量,形参  myName
      //     大驼峰 构造函数,类  MyName
      //6.语义化 (见名思义)

      // var a20 = 30;
      // var _ = 99;
      // var $ = 200;

    </script>
    
变量的命名规范
变量名可以是数字,字母,下划线_和美元符$组成;
第一个字符不能为数字
不能使用关键字或保留字
标识符区分大小写,如:age和Age是不同的变量。但强烈不建议用同一个单词的大小写区分两个变量。
变量命名尽量遵守驼峰原则: myStudentScore
变量命名尽量见名思义, 可参考下图

image.png

数据类型

JS数据类型一般可以分为:
  Boolean: 布尔类型
  Number:数字(整数int,浮点数float  )
  String:字符串
  Object:对象 (包含Array数组 )
  特殊数据类型 NullUndefined
  注意: 变量的类型在赋值时才能确定
typeof 操作符:
用来检测变量的数据类型, 对于值或变量使用 typeof 操作符会返回如下字符串: 
Undefined数据类型的值为:  undefined  未定义
Boolean数据类型的值为:  boolean     布尔值
String数据类型的值为:  string         字符串
Number数据类型的值为:  number       数值
Object数据类型的值为:  object          对象或者null
Function数据类型的值为:  function      函数
    <script>
      //1. 法外狂徒张三体重70KG  口语  ---> js认识的格式
      var sName = '张三'
      console.log(typeof sName);  // string 由一组双引号或单引号组成字符

      var weigth = 70;
      console.log(typeof weigth); //number 整形,浮点型(小数类型)

      var flag = true
      console.log(typeof flag); // boolean  true真,false假

      var age;
      console.log(typeof age);  // undefined 未定义

      var obj = null;
      console.log(typeof obj); // object 对象类型

      var a = null;
      console.log(a); // null 空对象


      //js有6种基本数据类型 , 8个
      // 值类型  string,number,bool,null,undefined
      // 引用类型  object (Array,Function,Date...)

      //NaN 特殊的值 不是一个数字
      console.log(0 / 0);
      console.log("你好" * 100);
      //number 
      // var num = 10;
      // var a = NaN;// 不是一个数字
      // console.log(typeof NaN); //number
      //牢记
      console.log(null == undefined); //true
      //科学计数法  了解
      var box = 4.12e9; //e9 9个0 
      4120000000
      // 0.0000412  4.12e-5

      console.log(Number.MAX_VALUE); //了解
      console.log(Number.MIN_VALUE); //了解

      //isNaN() 是数值为false,不是数值 true  //掌握
      console.log(isNaN("你好")); //true
      console.log(isNaN(99));    //false
      console.log(isNaN("99"));  //false 字符串的数字

      //parseInt 转换整型     //重点
      //parseFloat  转换浮点型(保留小数点)  //重点

      var num = 12.645;
      console.log(parseInt(num)); //12 
      var num = "12.345";
      console.log(parseFloat(num));
      var h = "35.56px";
      console.log(parseInt(h));
      console.log(parseFloat(h));


      var num = prompt("请您输入一个数字?");

      console.log(isNaN(num) == false);

    </script>

类型转换

    <script>
      //0false,1true 
      //Boolean true/false
      //1.其他类型转boolean类型
      var str = ""; //空字符串
      console.log(Boolean(str)); //false
      var str = "你好"; //空字符串
      console.log(Boolean(str));//true

      var str = "0"; //空字符串
      console.log(Boolean(str));//true

      var str = "    "; //空字符串
      console.log(str.length);//true
      console.log(Boolean(str));

      //字符串转bool类型,有值为true,没有值为false

      //2.数值-->Boolean
      // 0和NaN为false,非0为true
      var num = 0;
      console.log(Boolean(num)); //false

      var num = 1;
      console.log(Boolean(num)); //true

      var num = 2;
      console.log(Boolean(num)); //true

      var num = -1;
      console.log(Boolean(num)); //true

      var num = NaN;
      console.log(Boolean(num)); //false

      // null和undefined 始终为false;
      console.log(Boolean(null)); //false
      console.log(Boolean(undefined));//false

      var obj = {}
      console.log(Boolean(obj)); //true

      // 转boolean
      //1. 非空字符串为true,空字符串为false
      //2. 非0为true,0和NaN为false
      //3. null和undefined始终为false
      //4. 对象始终为true,只要不为null

      // shift + alt + F 

    </script>

JS运算符的使用 - 算术运算符

算术运算符 : +,-, *, /, %(取余数)
字符串和变量的拼接:+
关系运算符 : <、>、<=、>=、==、===、!=, !==
逻辑运算符 : &&  与(且)、||  或、!  非
赋值运算符 :  =、+=、-=、*=、/=、%=
自增、自减 : ++a, a++, --a, a--

image.png

JS代码规范:

保持代码缩进
变量名遵守命名规范, 尽量见名思意
JS语句的末尾尽量写上分号;
运算符两边都留一个空格, 如:var n = 1 + 2;