JavaScript第一天

2020-08-15  本文已影响0人  __method__

简介

JavaScript的作用

浏览器执行 JS 简介

浏览器本身并不会执行JS代码,而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 。JS 引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以 JavaScript 语言归为脚本语言,会逐行解释执行。

JS 的组成

ECMAScript

ECMAScript 是由ECMA 国际( 原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为 JavaScript或 JScript,但实际上后两者是 ECMAScript 语言的实现和扩展。



ECMAScript:规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。

DOM——文档对象模型

文档对象模型(DocumentObject Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)

BOM——浏览器对象模型

浏览器对象模型(Browser Object Model,简称BOM) 是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。

JS 初体验

JS 有3种书写位置,分别为行内、内嵌和外部。
1、行内式

<input type="button" value="点我啊" onclick="alert('点我干哈')">
  <script>
        // alert('欢迎来到王者峡谷')
        console.log('你在哪里')
    </script>

3.外部JS文件

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

JavaScript注释

单行注释

//
/* adada*/

JavaScript输入输出语句


变量的使用

//  声明变量  
var age; //  声明一个 名称为age 的变量 
age = 10;
var age  = 18;  // 声明变量同时赋值为 18

同时声明多个变量

var name = 'zhansan', age=18, sex = 1;

变量命名规范

数据类型的分类

JS 把数据类型分为两类:

交换变量和判断数字

  <script>
        var name1 = '张三';
        var name2 = '李四';
        var temp;
        temp = name1;
        name1 = name2;
        name2 = temp;
        console.log(name1);
        console.log(name2)
        // 判断 一个变量 非数字 是数字false  不是true
        console.log(isNaN(12))
        console.log(isNaN('老师真帅'))
    </script>
 <script>
        var str = '李济帅吗';
        alert(str.length);
        var str2 = '真的吗';
        alert(str+str2);
        alert(true + 1);
        alert(false + 1);
    </script>
var  varible;
console.log(varible)
console.log('nihao' +varible);
console.log(12 + varible);
console.log(true +varible);
var vari = null;
console.log(vari)
console.log('nihao' +vari);
console.log(12 + vari);
console.log(true +vari); 

获取变量数据类型

typeof 可用来获取检测变量的数据类型

<script>
        var num = 10
        console.log(typeof num) // number
        var str = 'hehe'
        console.log(typeof str) // string
        var flag = true
        console.log(typeof flag) // boolean
        var vari = undefined
        console.log(typeof vari) // undefined
        var vari2 = null
        console.log(typeof vari2) // object

        var age = prompt('请输入您的年龄');
        console.log(age)
        console.log(typeof age)
        
    </script>

转化为字符型

 <script>
        var num = 1000
        // 1
        var str = num.toString()
        console.log(str)
        console.log(typeof str)
        // 2
        console.log(typeof String(num))
        // 3
        str =  num + ''
        console.log(typeof  str)
    </script>

转化为数字型

 <script>
        var num = '3.64';
        var res = parseInt(num) // 取整
       console.log(res)
       console.log(typeof res)
       console.log(parseInt('120px')) // 120
       console.log(parseInt('rem120px')) // nan
       console.log(parseFloat('2.23')) // nan
        var haha = Number('121')
       console.log(typeof  haha) 
    </script>

运算符(操作符)

算数运算符

递增和递减运算符

比较运算符



逻辑运算符
逻辑运算符概述
概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断



赋值运算符

运算符优先级


流程控制

if else语句(双分支语句)

// 条件成立  执行 if 里面代码,否则执行else 里面的代码
if (条件表达式) {
    // [如果] 条件成立执行的代码
} else {
    // [否则] 执行的代码
}

if else if 语句(多分支语句)

// 适合于检查多重条件。
if (条件表达式1) {
    语句1;
} else if (条件表达式2)  {
    语句2;
} else if (条件表达式3)  {
   语句3;
 ....
} else {
    // 上述条件都不成立执行此处代码
}

三元表达式

表达式1 ? 表达式2 : 表达式3;

如果表达式1为 true ,则返回表达式2的值,如果表达式1为 false,则返回表达式3的值

 <script>
        var age = prompt("请输入你的年龄")
        if (age >= 18 && age <100){
            alert("可以和我去网吧里偷耳机了")
        } else if(age< 18 && age >0){
            alert("消停学习吧")
        } else {
           alert("输入有误")
        }
    </script>

switch分支流程控制

语法结构
switch 语句也是多分支语句,它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列的特定值的选项时,就可以使用 switch。

 <script>

        switch (3) {
            case 1:
                console.log('这是1');
                break;
            case 2:
                console.log('这是2');
                break;
            case 3:
                console.log('这是3');
                break;
            default:
                console.log('没有匹配结果');

        }
    </script>

循环

for循环

for(初始化变量; 条件表达式; 操作表达式 ){
    //循环体
}

双重 for 循环语法

for (外循环的初始; 外循环的条件; 外循环的操作表达式) {
    for (内循环的初始; 内循环的条件; 内循环的操作表达式) {  
       需执行的代码;
   }
}
<script>
        var str = '';
        for (var i = 1; i <= 9; i++) { // 外层循环控制行数
            for (var j = 1; j <= i ; j++) {
                str += j + 'x' + i + '=' + j*i + '\t';
            }
            // 换行
            str += '\n';
        }
        console.log(str)

    </script>

while循环

while (条件表达式) {
    // 循环体代码 
}

do-while循环

do {
    // 循环体代码 - 条件表达式为 true 时重复执行循环体代码
} while(条件表达式);
  <script>
        // while循环案例
        // 1. 打印人的一生,从1岁到100岁
        var i = 1;
        while (i <= 100) {
            console.log('这个人今年' + i + '岁了');
            i++;
        }

        // // 3. 弹出一个提示框, 你爱我吗?  如果输入我爱你,就提示结束,否则,一直询问。
        // var message = prompt('你爱我吗?');
        // while (message !== '我爱你') {
        //     message = prompt('你爱我吗?');
        // }
        // alert('我也爱你啊!');
    </script>

continue、break

continue 跳出本次循环,执行下一次循环
break 跳出本层循环

数组

<script>
        //  new 数组
        var arr = new Array();
        //
        var arr1 = [];
        //
        var arr2 = [1, 22, 'haha', true];
        console.log(arr)
        console.log(arr1)
        console.log(arr2)
        console.log(arr2[2])

    </script>

数组的遍历

 <script>
        var arr = ['red', 'yellow', 'green']
        for (var i = 0; i < arr.length ; i++) {
            console.log(arr[i])
        }

    </script>

求数组中最大的值

<script>
        var arr = [21, 34, 343, 433, 434,7676];
        var max = arr[0]
        for (var i = 0; i < arr.length ; i++) {
            if(arr[i]> max){
                max = arr[i]
            }
        }
        console.log(max)
    </script>
上一篇下一篇

猜你喜欢

热点阅读