Bootstrap

js个人学习笔记

第一章节

1.js的组成?

es(js标准) + DOM + BOM 组成  js的实际含义要更大一些      

2.简单的标签的引用  

<script>
    alert("Hello,World!");
</script>

3.js文件的引入

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

4.js的页面的输出

<script>
    document.write("Hello,World!");
</script>

5.如何使用js向控制台输出一句话

<script>
    console.log("输出一条日志");//最常用
    console.info("输出一条信息");
    console.warn("输出一条警告");
    console.error("输出一条错误");
</script>

6.弹出 窗口输出

<script>
    alert("Hello,World!");
</script>

第二章节

1.什么是标识符?

也就是我们正常写的 吧标签就是标识符

2.什么是字面量?

字面量都是不可变的 也就是常量

固定的值 比如:1 2 3 true false null NaN

3.什么是变量?

变量是可以改变字面量的 变量使用的时候更加的方便        

正常使用 var定义的关键字  就是变量

4.js中一共有5种数据类型

  • 字符串类型(string)
  • 数值类型(number)
  • 布尔值 (boolean)
  • undefined (Undegined)
  • null类型 (Null)

这5种之外还有一个Object 数据类型  也被叫做对象

5.typeof运算符

使用typeof操作符可以用来检测一个变量的数据类型

使用方式

typeof 数据

示例代码

console.log(typeof 123);
console.log(typeof "Hello,World!");
console.log(typeof true);
console.log(typeof undefined);
console.log(typeof null);

运行结果

 6.String 字符串

String用于表示一个字符序列 ,即字符串。字符串需要使用单引号和双引号括起来

转义字符

 7.Number

Number类型用来表示整数和浮点数

特殊数字

  • Infinity:正无穷
  • -Infinity:负无穷
  • NaN:非法数字

其他的进制

  • 二进制:0b开头的是二进制  
  • 八进制:0开头的表示八进制
  • 十六进制:0x开头的表示十六进制

8.Boolean

布尔值  false true

9.Undefined

变量var声明  未对其加以初始化的时候  结果会返回Undefined

10.Null

underfined实质上是Null延伸出来的  空的境界

11.强制类型转换

转换为String类型

  • 方法一:调用被转换数据类型的toString()方法 ,该方法不会影响到原变量,他会将转移的结果返回,但是注意:null和underfined这两个值没有toString()方法,会报错
    var a = 123;
    a = a.toString();
    console.log(a);
    console.log(typeof a);
    
  • 方法二:调用string()方法,并且将转换数据作为参数传递给函数,使用String()函数做强制类转换时,对于Number和Boolean实际上就是调用的是toString()方法,但是对于null和underfined,就不会调用toString()方法。他会将null直接转化为'null'将underfined转换为‘underfined’
    var a = 123;
    a = String(a);
    console.log(a);
    console.log(typeof a);
    
    var b = undefined;
    b = String(b);
    console.log(b);
    console.log(typeof b);
    
    var c = null;
    c = String(c);
    console.log(c);
    console.log(typeof c);
    

  • 方式三:为任意的数据类型+""
    var a = 123;
    a = a + "";
    console.log(a);
    console.log(typeof a);
    

12 转换为Number类型

有三个函数可以把非数值转换为数值:Number()、parseInt()、parseFloat()。Number是可以转换任何类型的数据。而后面的两个只能转换为字符串。parseInt()只会将字符串转换为整数,而parseFloat()可以将字符串转换为浮点数

  • 第一种方式:Number()函数  字符串转为数字 1.如果内容是字符串数字的话,会直接转为数字 2.如果内容是空字符串的话,会直接转为0  3.如果字符串非数字内容,会转换为NaN
  • 第二种方式:parseInt()函数  这种方式是专门用来对付字符串的。parseInt()把一个字符串转换为一个整数
var a = "123嗷嗷嗷";
a = parseInt(a);
console.log(a);
console.log(typeof a);
  • 第三种方式:这种方式专门用来对付字符串。parseFloat()把一个字符串转换为一个浮点数(也就是保留小数点)
var a = "123.456";
a = parseFloat(a);
console.log(a);
console.log(typeof a);

13.转换为Boolean类型

  • 使用Boolean()函数
  • 数字--->布尔值
  •             除了0和NaN,其余的都是true
  • 字符串--->布尔值
  •            非空即真
  • null和underfined都是false
  • 对象也会转换为true

14.运算符

运算符也叫做操作符,通过运算符可以对一个或者多个值进行运算并且获取运算结果

(比如:typeof就是运算符,可以来获得一个值的类型,他会将该值的类型以字符串的形式返回 number  string boolean undefined object)

14.1.1

14.1 算数运算符

算数运算符用于表达式的计算

 14.2 关系运算符

关系运算符在逻辑语句中使用,已测定变量或者值是否相等

14.3 赋值运算符 

赋值运算符用于js的变量赋值

 14.4 逻辑运算符

逻辑运算符用来测定变量或值之间的逻辑

 &&  与  【两个值都为true  才为true  】

 ||     或  【两个值都为false 才为false 】

 !   非  【非】

14.5 比较运算符

比较运算符用来比较两个值是否相等,如果相等会返回true,否则返回false。

(== 、 != 、 ===、 !==)

14.6 条件运算符

js中包含基于某些条件,对变量进行赋值的运算符

例子:result=(age<18)?"年龄太小":"年龄合适";

14.7 逗号运算符

使用逗号运算符 从左到右 依次执行

例子:var num1=1, num2=2, num3=3;

14.2.1 运算符的优先级

运算符优先级由上到下依次减小,对于同级运算符,采用从左向右依次执行的方法。

 15.条件语句

条件语句是通过判断指定表达式的值来决定执行还是跳过某些语句,最基本的条件语句:

  • if…else
  • switch…case

15.1  if...else

if...else语句是一种最基本的控制语句,它让js可以有条件的执行语句

第一种形式:

var age = 16;
if (age < 18) {
    console.log("未成年");
}

第二种形式:

var age = 16;
if (age < 18) {
    console.log("未成年");
} else {
    console.log("已成年");
}

第三种形式:

var age = 18;
if (age < 18) {
    console.log("小于18岁了");
} else if (age == 18) {
    console.log("已经18岁了");
} else {
    console.log("大于18岁了")
}

15.2 switch…case

switch…case是另一种流程控制语句。

switch语句更适用于多条分支使用同一条语句的情况。

语法格式:

switch (语句) {
    case 表达式1:
        语句...
    case 表达式2:
        语句...
    default:
        语句...
}

注意:需要注意的是一旦符合case的条件程序会一直运行到结束,所以我们一般会在case中添加break作为语句的结束。

案例1:

案例演示1:根据today的数值,输出今天是星期几。        

var today = 1;
switch (today) {
    case 1:
        console.log("星期一");
        break;
    case 2:
        console.log("星期二");
        break;
    case 3:
        console.log("星期三");
        break;
    case 4:
        console.log("星期四");
        break;
    case 5:
        console.log("星期五");
        break;
    case 6:
        console.log("星期六");
        break;
    case 7:
        console.log("星期日");
        break;
    default:
        console.log("输入错误");
}

案例演示2:根据month的数值,输出对应月份的天数,2月默认28天。

var month = 10;
switch (month) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        console.log("31天");
        break;
    case 4:
    case 6:
    case 9:
    case 11:
        console.log("31天");
        break;
    case 2:
        console.log("28天");
        break;
    default:
        console.log("输入错误");
}

16.循环语句

循环语句和条件语句一样,也是基本的控制语句,只需要满足一定的条件 ,将会一直执行

  • while
  • do ...while
  • for

16.1 while

while语句是一个基本的循环语句,while语句也被称为while循环

案例演示:输出1-10

var i = 1;
while (i <= 10) {
    console.log(i);
    i++;
}

16.2 do...while

语法格式:

do{
  语句...
}while(条件表达式);

案例演示:输出1-10

var i=1;
do{
  console.log(i);
  i++;
}while(i<=10);

16.3 for

for语句也是循环控制语句,我们也称它为for循环。大部分循环都会有一个计数器用以控制循环执行的次数,计数器的三个关键操作时初始化、检测和更新。for语句就将这三步操作明确为了语法的一部分

语法格式:

for(初始化表达式 ; 条件表达式 ; 更新表达式){
    语句...
}

案例演示:输出1-10

for(var i = 1;i <= 10;i++){
    console.log(i);
}

16.4 跳转控制

  • break :结束最近的一次循环,可以在循环和switch语句中使用
  • continue: 结束本次循环,执行下一次循环,只能在循环中使用

那如果我们想要跳出多层循环或者跳到指定位置该怎么办呢?可以为循环语句创建一个label,来标识当前的循环,如下例子:

outer: for (var i = 0; i < 10; i++) {
    for (var j = 0; j < 10; j++) {
        if (j == 5) {
            break outer;
        }
        console.log(j);
    }
}

17 对象基础

17.1概述

object类型,我们也称为一个对象。是js中的引用类型,它是一种复合值,它将很多的值聚合到一起,可以通过名字访问这些值。对象也可以看做是属性的无序集合,每一个属性都是一个名/值对。对象除了可以创建自有的属性,还可以通过从一个名为原型的对象那里继承属性。除了字符串、数字、true、false、null、underfined之外。js中的值都是对象

17.2创建对象

创建对象有两种方式

  • 第一种方式
var person = new Object();
person.name="孙悟空";
person.age=18;
console.log(person);
  • 第二章方式

数据类型有几种?

两种   一个是基本数据类型,一个是引用数据类型

基本数据类型包括

Number String Boolean Null Undefined

引用数据类型包括

Object

两种数据类型之间的区别是什么呢?

1.基本数据类型你在下方修改的时候,它是不会随意改变的。但是引用数据类型,你在下方修改的时候,他的输出是回改变的。(基本数据类型,值于值之间是独立存在的。修改一个变量是不会影响到其他的变量的)

2.基本数据类型是存在栈内存里面的,引用数据类型是存在对内存里面的。

3.对象是存储在堆内存中的,每保存一个对象,会在内存中开辟一个新的空间。而变量保存的value就是我们的保存的我们的内存的地址

 两个对象是无法相等的  因为对象的value是地址名 ---        

 

 

;