JavaScript基础

JavaScript

1.js基础

持续更新,

1.JavaScript 的诞生

​ JavaScript 诞生于 1995 年。由Netscape(网景公司)的程序员Brendan Eich(布兰登)与Sun公司联手开发一门脚本语言, 最初名字叫做Mocha,1995年9月改为LiveScript。12月,Netscape公司与Sun公司(Java语言的发明者)达成协议,后者允许将这种语言叫做JavaScript。这样一来,Netscape公司可以借助Java语言的声势。
​ 1996年3月, Netscape公司的浏览器Navigator 2.0浏览器正式内置了JavaScript脚本语言. 此后其他主流浏览器逐渐开始支持JavaScript.

2.JavaScript 的简介

1.什么是js?

与网页进行交互的脚本语言,有一定的逻辑性

2.什么是脚本?

脚本特点:辅助,简单.即写即所得

3.JavaScript 语言特点

  • 1.脚本语言 即写即所得

  • 基于对象 面向对象,同时也支持面向过程

  • 简单

  • 动态性

  • 跨平台性

    • 现在的js 可以在客户端对运行 可以在服务器端运行
    • 客户端运行:只要能装浏览器的地方,就能运行js
    • 服务端运行: window server 2012,Linux…基于node.js

4.js的组成部分

  1. ECMAScript 定义语法规范 保留字 关键字
  2. DOM (文档对象模型)
  3. BOM(浏览器对象模型) 控制浏览器的前进 后退 刷新 关闭…

3.script属性

src:引入外面的js文件 重点

​ defer async都是异步加载

async 异步加载+代码加载完后 立即触发(执行)

defer 异步加载+页面解析完后 立即触发(执行)

注意:defer和async要结合src使用

charset:设置字符集的编码 gb2310 utf-8(万国码) utf-16

type :表示脚本语言的类型 text/javascript,默认值就是它.

4.变量的声明

语法:var 变量名称=“值”

1.变量定义(使用var关键字 variable):

var age;       //var 是关键字,age是变量名
  1. 赋值方法:

赋值:

    age = 20;

定义的同时赋值:

    var age=20

可以一次定义多个变量:

   var name=“zhangsan", age=18,weight=108;
	console.log(name);

JS是弱数据类型的语言,弱类型语言的值可以随意被修改,容错性较高, 在赋值的时候才确定数据类型

弱数据类型特点

1.值可以随意修改

2.声明变量不赋值,不会报错(打印undefined)

    var b;           //temp时啥数据类型?不确定 
      b = 12;            //temp变量是数字类型
      b = “hello”;      //temp变量变成了字符串类型
	//typeof 关键字 查看变量是什么类型
      console.log(typeof b);

5.关键字和保留字

关键字 : 已经被JS内部使用了的

JavaScript基础_第1张图片

保留字: 虽然暂时还未被使用, 但将来可能会被JS内部使用

JavaScript基础_第2张图片

6.变量的命名规则

1, 变量名只能是数字,字母,下划线_和美元符$组成;
2, 第一个字符不能为数字(不能以数字开头)
3**, 不能使用关键字或保留字**
4, 严格区分大小写,如:age和Age是不同的变量。但强烈不建议用同一个单词的大小写区分两个变量。
5, 变量命名尽量遵守驼峰原则(驼峰命名法):

myStudentScore(小驼峰) 变量 形参

​ MyName(大驼峰) 构造函数 类

6, 变量命名尽量见名思意, 可参考下图

JavaScript基础_第3张图片

7.js数据类型

JS数据类型一般可以分为:

Boolean: 布尔类型
Number:数字(整数int,浮点数float )
String:字符串
Object:对象 (包含Array数组 )
特殊数据类型 NullUndefined

注意: 变量的类型在赋值时才能确定

typeof 操作符:

​ 用来检测变量的数据类型, 对于值或变量使用 typeof 操作符会返回如下字符串:
Undefined数据类型的值为: undefined 未定义
Boolean数据类型的值为: boolean 布尔值
String数据类型的值为: string 字符串
Number数据类型的值为: number 数值
Object数据类型的值为: object 对象或者null
Function数据类型的值为: function 函数

 var str="易哈哈哈";
        console.log(typeof str);//string 字符串
        var weight=70;
        console.log(typeof weight);//number 整型 浮点型(小数类型)
        var flag=true;
        console.log(typeof flag);//boolean true(1) false(0)
        var age;
        console.log(typeof age);//undefined
        var obj=null;
        console.log(typeof obj);//object
        var a=null;
        console.log(a)//null

字符串转换数字类型:

​ parseInt() 是把其它类型转换为整型
​ parseFloat() 是把其它类型转换为浮点型(小数)

​ Math.round() 四舍五入
​ 如: (78.566) -> 78

 // parseInt 转换整型(重点)
        // parseFloat 转换浮点型(保留小数点)重点
        var num = 12.345;
        console.log(parseInt(num));//12
        var num = "12.678";
        console.log(parseInt(num));//12
        var h = "35px";
        console.log(parseInt(h));//35
        var h = "35.66px";
        console.log(parseFloat(h));//35.66
        var h = "px355";
        console.log(parseInt(h));//NaN 不是一个数字,不能放在前面,否则就不能截取

isNaN()是数值为false ,不是数值true(掌握)

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

最大值 最小值 了解

  // 最大值 最小值 了解
        console.log(Number.MAX_VALUE);//1.7976931348623157e+308
        console.log(Number.MIN_VALUE);//5e-324

NaN殊的值 不是一个数字

  // NaN 特殊的值 不是一个数字
        console.log(0 / 0);//NaN
        console.log("你好" * 100);//NaN
        // number
        // var num=10;
        // var a=NaN;//不是一个数字
        // console.log(typeof NaN);//true
        // 牢记null派生了undefined
        console.log(null == undefined); true

8.类型转换

1.其他类型转换为number类型

   // 强制转换Number  parseInt parseFloat
        console.log(Number(str));
        console.log(parseInt(str));
        console.log(parseFloat(str));
 // 隐式转换(- / * %)
        var str1 = "200";
        console.log(str1 - 0);
        console.log(str1 / 1);
        console.log(str1 * 1);
        console.log(str1 % 201);
        // console.log(str1 + 201);//200201
        console.log(200 == "200");//true

2.其他类型转Boolean

1.非空字符串为true 空字符串为false

2.非0为true,0 和NaN为false

3.null 和undefined始终为false

4.对象始终为true,只要不为null

 // 2其他类型转Boolean型
        // 0false  1true
        // Boolean true/false
        var str2 = "";//空字符串
        console.log(Boolean(str2));//false
        var str21 = "你好";
        console.log(Boolean(str21));//true

        var str22 = "0";
        console.log(Boolean(str22));//true

        var str23 = "    ";
        console.log(str23.length);//4
        console.log(Boolean(str23));//true
        // 字符串转bool类型 有值为true 没有值为false
        // 2.数值转Boolean
        // 0 和NaN为false 其他的都为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

你可能感兴趣的:(javascript,开发语言,ecmascript)