9.4-day01-js基础

93 阅读3分钟
  1. 什么是js?

    与网页进行交互的脚步语言,有一定的逻辑性 脚本: 如何理解? 脚本的特点:辅助,简单,即写即所得

  2. JavaScript 语言的特点

    • 脚本语言 即写即所得
    • 基于对象 面向对象,同时也支持面向过程
    • 简单
    • 动态性
    • 跨平台性
      现在的js 可以在客户端运行 可以在服务端运行
      客户端运行: 只要能装浏览器的地方,就能运行js
      服务端运行: window server 2012. linux..基于 nodejs
  3. js的组成部分?(罗列大纲 死记硬背)

    1. ECMAScript 定于语法规范 保留字,关键字 (相等于交规)
    2. DOM 文档对象模型
    3. BOM 浏览器对象模型 控制浏览器的 前进,后退,刷新,关闭..
  4. 初体验

    <script type="text/JavaScript"></script>
    type 可以不写, 要写type就需要写完整的 text/JavaScript

    alert("我是提示框!!!!");
    给用户使用

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

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

  5. 注释

    单行注释 //
    多行注释 /* */
    快捷键:
    单行 ctrl+/
    块注释 ctrl+shift+/

  6. js引入方式

    外部引入:<script src="./js/index.js"></script>
    写 / 没有路径提示,就装一个 path Intellisense插件
    如果 script 使用src属性,就在标签的中间,不能在写其他的代码
    内部引入:<script>alert("台上有一位 靓仔!");</script>

  7. 两个异步加载的区别(defer/async)

    defer async
    defer和async 都是异步加载
    async 异步加载 + 代码加载完成后立即触发(执行)
    defer 异步加载 + 页面解析完后,才触发(执行)
    注意:"defer和async要和src结合使用"
    charset:设置字符集的编码 gb2310, utf-8,utf-16 utf-8 万国码 (了解)

  8. 变量的声明

    1. 用var 声明变量,先声明,后赋值
    var sName;  //有值,是 undefined的值  (undefined:未定义)
    console.log(sName);  //声明变量,未赋值的默认值是undefined  
    sName = "刘德华";
    console.log(sName);
    
    1. 直接声明变量,并且赋予初始值
    var age = 20;
    console.log(age);
    
    1. 如果有多个变量
    var myage = 20, mysex = "男", myaddress = "中国";
    console.log(myage); //20
    console.log(mysex); //男
    console.log(myaddress); //中国
    

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

    typeof用法

    var myAge;
    myAge = 30;
    console.log(typeof myAge);  //number 数值
    myAge = "三十";
    console.log(myAge);
    console.log(typeof myAge);  // string
    
  9. 变量命名规则

    1. 只能是数字,字母,下划线,$
    2. 不能以数字开头
    3. 不能是关键字和保留字
    4. 严格区分大小写
    5. 遵循驼峰命名法
      小驼峰 变量,形参 myName
      大驼峰 构造函数,类 MyName
    6. 语义化 (见名知意)
    var a20 = 30;
    var _ = 99;
    var $ = 200;
    
  10. 基本数据类型

    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);
    
    
  11. 类型转换

    //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
      格式化文档:ctrl + shift +F