zoukankan      html  css  js  c++  java
  • JavaScript从入门到放弃之基础篇

    JavaScript 的发展历史

      由于不是重点,暂且在这里简述一部分内容:  

      发明者: 布兰登 艾奇
      原名 :liveScript
      用于增强用户体验,使网页能够动态的显示,是现在唯一能在网页上运行的脚本语言


    JavaScript的组成

    ECMAScript 5.0:定义了js的语法标准: 包含变量 、表达式、运算符、函数、if语句 for循环 while循环、内置的函数

    DOM :操作网页上元素的API。比如让盒子显示隐藏、变色、动画 form表单验证

    BOM:操作浏览器部分功能的API。比如刷新页面、前进后退、让浏览器自动滚动


    JavaScript的引入方式

    内接式:在html中编写JavaScript

    <script type="text/javascript">
    
    </script>


    外接式:写在自己的文件中,连接到html文件里面去执行

    <!--相当于引入了某个模块-->
    <script type="text/javascript" src = './index.js'></script>
    

      


    两种常用的测试方式

    console.log    控制台输出(相当于打印)
    alert  弹出警告框(在网页刷新时弹出一个框)


    变量的声明

    <script>
        var a = 100;  //也可以写成var a; a=100;
        alert(a)
    // 打印出来的数字与字符颜色不同
        var b ='100';
        console.log(a)
        console.log(b)
        console.log(c)//不存在的变量打印出来是 not defined  变量要先定义,才能使用。
    
    </script>
    

      

    • 定义变量:var就是一个关键字,用来定义变量。所谓关键字,就是有特殊功能的小词语。关键字后面一定要有空格隔开。
    • 变量的赋值:等号表示赋值,将等号右边的值,赋给左边的变量。
    • 变量名:我们可以给变量任意的取名字。

    变量的命名规范

    变量名有命名规范:只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。(类似不能用以有的功能字符)


     基本的数据类型

        /* JavaScript的数据类型
        1.number
        2.string
        3.boolean   布尔值
        4.null
        5.undefined  与python不一样的地方
        */
        // var a = 100;
        // console.log(typeof a)//查看数据类型的方式 typeof
    
        var a = 5/0;
        console.log(a);  //Infinity 无限大
        console.log(typeof a);
    
        var b = 5+'';//将数字转化成字符串的小技巧  +的使用
        console.log(typeof b);
    
        var c='';//空是属于字符串类型的
        console.log(typeof c);
        
        // 3.boolean
        var isShow  = 1>1;
        console.log(typeof isShow);
    
        // 4.null  空对象
        var d = null; //空对象 object
        console.log(typeof d);
    
        // 5.undefined 未定义的
    
        var  d1;
        console.log(d1); //值 是undefined
        console.log(typeof d1); //undefined 数据类型 

    attention:  

      null也是一种数据类型

      在控制台输出的内容颜色比数据类型要浅

     


     运算符

    赋值运算符

    以var x = 12,y=5来演示示例

    算数运算符

    var a = 5,b=2;

    比较运算符

    var x = 5;

     


     数据类型的转换

        // 将number类型转换成string类型
        // 隐式转换
        // var a = 123;
        // var b ='123';
        // var c = a+b;
        // console.log( typeof c);
        //
        // //强制转换
        // var str1 = String(a);
        // console.log(typeof str1)
        //
        // //或者
        // var d = 1117;
        // var x =d.toString(x)
        // console.log(typeof x)
    
        //将数字转换成字符串
        var a = '1111';
        var num = Number(a);
        console.log(num);
        console.log(typeof num);
    
        var b = '77.71d1s1a1';
        var num1 = Number(b);
        console.log(num1);//NaN not a number 也是一个number
        console.log(typeof num1);
    
        //parseInt解析字符串,返回整型    parseFloat 返回浮点型
        console.log(parseInt(b));
        console.log(parseFloat(b));
    

      

    任何的数据类型都可以转换为boolean类型
    var b1 = '123'; //true
    var b2 = 0; //false
    var b3 = -123 //true
    var b4 = Infinity; //true
    var b5 = NaN; //false
    var b6; //false
    var b7 = null; //false
    //使用Boolean(变量) 来查看当前变量的真假

     流程控制

    if

    var age = 20;
    if(age>18){
        //{}相当于作用域
        console.log('可以去会所');
    }
    alert('alex'); //下面的代码照样执行
    

    if-else

    var age = 20;
    if(age>18){
        //{}相当于作用域
        console.log('可以去会所');
    }else{
        console.log('好好学js,年纪够了再去会所');
    }
    alert('alex'); //下面的代码照样执行
    

    if-else if -else

    var age = 18;
    if(age==18){
        //{}相当于作用域
        console.log('可以去会所');
    }else if(age==30){
        console.log('该娶媳妇了!!');
    }else{
        console.log('随便你了')
    }
    alert('alex'); //下面的代码照样执行
    

    逻辑与&&、 逻辑或||

    //1.模拟  如果总分 >400 并且数学成绩 >89分 被清华大学录入
    //逻辑与&& 两个条件都成立的时候 才成立
    if(sum>400 && math>90){
        console.log('清华大学录入成功')
    }else{
        alert('高考失利')
    }
    
    //2.模拟 如果总分>400 或者你英语大于85 被复旦大学录入
    //逻辑或  只有有一个条件成立的时候 才成立
    if(sum>500 || english>85){
        alert('被复旦大学录入')
    }else{
        alert('高考又失利了')
    }
    

      

    switch 语句

    var gameScore = 'better';
    
    switch(gameScore){
    
    //case表示一个条件 满足这个条件就会走进来 遇到break跳出。break终止循环。如果某个条件中不写 break,那么直到该程序遇到下一个break停止
        case 'good':
        console.log('玩的很好')
        //break表示退出
        break;
        case  'better':
        console.log('玩的老牛逼了')
        break;
        case 'best':
        console.log('恭喜你 吃鸡成功')
        break;
    
        default:
        console.log('很遗憾')
    
    }
    //注意:switch相当于if语句 但是玩switch的小心case穿透
    

      


    循环

    我们要遵循三个要点:

    1. 初始化循环变量
    2. 判断循环条件
    3. 更新循环变量

    while循环

    //打印0-100(不等于)的偶数
        var i = 1;   //初始化循环变量
    
        while (i<100){
            if(i%2 == 0){
                console.log(i)
            }
            i ++;
        } ;
    

      

    do-while循环

    //不管有没有满足while中的条件do里面的代码都会走一次
    var i = 3;//初始化循环变量
    do{
    
        console.log(i)
        i++;//更新循环条件
    
    }while (i<10) //判断循环条件
    

    for循环

    //用for打印1-100,以及求和
        var sum = 0;
        for (i = 0;i <= 100;i ++){
            console.log(i);
            sum = sum + i;
        } ;
        console.log(sum)

    打印等腰三角形

    for(var i=1;i<=6;i++){ //控制行数,一共显示6行 记得换行document.write('<br>');
    
            //控制我们的空格数
            for(var s=i;s<6;s++){
                document.write(' ');
            }
            //控制每行的输出*数
            for(var j=1;j<=2*i-1;j++){
                document.write('*');
            }
            document.write('<br>');
    
       }
    

      

    个人关于while和for循环的理解如下:

       }
        for(i=1;i<=5;i++){
            document.write('$')
        };
        document.write('<br>')
        var s = 1
        while (s<=5){
            document.write('$')
            s++;
        } ;

    for循环在括号内的条件放到while中就如上述所示即可,循环条件是一个范围,更是一个类似次数的机制。


    补充:

  • 相关阅读:
    阿里云esc 安装 mysql8.0
    阿里云esc 登录时的相关提示
    C# web项目 log4net 使用
    MVC 全局异常捕获
    datetimepicker 基础使用/select2 基础使用
    C# 从登陆开始 MVC4+BOOTSTRAP
    Android如何导入语言资源
    Android自带邮件含中文的附件用HTML打开乱码问题的解决
    android 解决输入法遮挡输入框的问题
    repo代码简单解读
  • 原文地址:https://www.cnblogs.com/swearBM/p/9987547.html
Copyright © 2011-2022 走看看