美文网首页
一篇文章,了解【JavaScript】

一篇文章,了解【JavaScript】

作者: Alcazar | 来源:发表于2019-07-20 17:50 被阅读0次

    【先来打个招呼】


    本页使用 firefox打开
    简书交友~

    【进入正题】

    关于【JavaScript】

    【简介】JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。

    • JavaScript 是一种轻量级的编程语言。

    • JavaScript 是可插入 HTML 页面的编程代码。

    • JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。


    【先上代码-html】

    <!DOCTYPE html>
    <html>
    <head>
        <title>javascript ES5\ES6</title>
        <meta charset="utf-8">
        <!-- node.js -->
        <script type="text/javascript" src="./script.js">
        </script>
    </head>
    <body>
        <button onclick="test()">点我,点我!</button>
    </body>
    </html>
    

    JavaScript 可以通过不同的方式来输出数据:

    • 使用 window.alert() 弹出警告框。
    • 使用 document.write() 方法将内容写到 HTML 文档中。
    • 使用 innerHTML 写入到 HTML 元素。
    • 使用 console.log() 写入到浏览器的控制台。

    【举个栗子:js-脚本】

    function test(){
        // alert("你点击我...要干嘛");
        alert("你好,欢迎阅读我的简书");
        alert("我叫Zurich Alcazar,交个朋友吧~");
    
        var foo = '我叫Zurich Alcazar';
        console.info(foo);
        foo1="你好,欢迎阅读我的简书";
        console.info(foo1);
        const PI = 2019-7-18;
        console.info(PI);
    }
    

    【解释一下】:运行结果如上图所示。


    【JavaScript】中的数据类型

    主要有以下几类:

    • 数字:整数、浮点数;
    • 字符串:单引号、双引号;
    • 布尔型:true、false;
    • Null型:null;
    • undefined型(未定义):undefined;
    【JavaScript】中的变量作用范围

    js在默认情况下,变量以函数为范围。

    变量 加var与不加var 的区别:

    • 【加var】:局部变量;
    • 【不加var】:全局变量;

    【重点总结】
    【关于常量】:一旦赋值,就不能再修改的量;


    关于【JavaScript】中的函数

    在JavaScript中,函数即对象,可以随意地被程序操控,函数可以嵌套在其他函数中定义,这样可以访问它们被定义时所处的作用域中的任何变量。

    【w3cshool上的解释】:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

    【看一个小例子】:

    function outer(){
        var a = 'outter'
    
        function inner(){
            a = "inner"
            console.info(a)
        }
        console.info("===" + a)
        return inner;
    }
    
    console.info(outer()())
    

    执行结果:

    ===outter 
    inner 
    undefined 
    

    【解释一下】
    闭包:函数嵌套函数。
    内部的函数,可以使用外部函数的变量;


    关于【JavaScript】的数组

    直接来看以下实例:

    var name = "zhang san";
    console.info(name.length);
    
    var reg = /^1\d{10}$/
    console.info(reg.test('13492359245'))
    
    var regname = /ZHANG/i
    console.info(regname.test(name))
    
    var a = 20;
    
    console.info(isNaN(20 / 'ewe'))
    
    console.info(typeof a )
    
    输出:
    9 [script.js:73:9]
    true [script.js:76:9]
    true
    true
    number
    

    【插播内容】

    什么是正则表达式?
    • 正则表达式是由一个字符序列形成的搜索模式

    当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。

    • 正则表达式可以是一个简单的字符,或一个更复杂的模式。
    • 正则表达式可用于所有文本搜索和文本替换的操作。
    var a = 10;
    var b = 20;
    var c = 30;
    
    var max = -Infinity;
    
    console.info(max)
    // 三目表达式:expr ? expr1 : expr2;
    max1 = (a > b ? a:b) >c ? (a > b ? a:b) : c;
    
    var a= 0;
    var b = ++a +3;
    console.info(a)
    console.info(b)
    
    a = 2;
    switch(a){
        case 1:
            console.info('11111')
        case 2:
            console.info('22222')
    }
    

    输出:

    -Infinity [script.js:108:9]
    
    1 [script.js:114:9]
    
    4 [script.js:115:9]
    
    22222
    

    关于【JavaScript】的循环

    主要的几种循环类型:

    • for - 循环代码块一定的次数;
    • for/in - 循环遍历对象的属性;
    • while - 当指定的条件为 true 时循环指定的代码块;
    • do/while - 同样当指定的条件为 true 时循环指定的代码块;
      【看看这个实例】
    // for in  循环
    var arr=[5.20,2.1]
    for (i in arr){
        console.info(arr[i])
    }
    // for 循环
    for (var i = 0; i < arr.length; i ++){
        console.info(arr[i])
    }
    
    // while 循环
    var i = 0;
    while (i < arr.length){
        console.info(arr[i])
        i++;
    }
    // do...while 循环
    var i = 0;
    do{
        console.info(arr[i])
        i ++;
    }while(i < arr.length);
    

    和其他语言相通的,可以使用break: 跳出当前循环;continue :跳出本次循环;

    for(var i = 0; i < 10; i++){
        if(i % 2 ==0){
            continue;
        }
        console.info(i)
    }
    

    【注释】:但凡是有编程基础的朋友,以上内容都是最基础的。


    【JavaScript】面向对象(重点)

    JavaScript 允许自定义对象。

    JavaScript 中,一切事物都是对象

    JavaScript 提供多个内建对象,比如 String、Date、Array 等等。 对象只是带有属性和方法的特殊数据类型。

    • 数字型可以是一个对象;
    • 字符串也可以是一个对象;
    • 数学和正则表达式也是对象;
    • 数组是一个对象;
    • 函数也可以是对象

    【总结】:对象只是一种特殊的数据。对象拥有属性和方法。

    // 面向对象
    var student = {
        name:'Zurich',
        age:27,
        sayhello:function(){
            // 方法的调用者;
            console.info(this.name)
        }
    }
    student.sayhello();
    console.info(student.age)
    console.info(student['age'])
    
    // 对象:原型链
    // 默认原型:
    function Student(name,age){
        this.name = name;
        this.age = age;
    }
    
    Student.prototype.sayhello =function(){
            console.info(this.name + "说:hello!")
        } 
    
    var s1 = new Student("Alcazar",100);
    s1.sayhello();
    var s2 = new Student("AS_Alcazar",100);
    // console.info(s2);
    
    function person(name,age){
        this.name = name;
        this.age = age;
    }
    
    person.prototype.shuo= function(){
        console.info('Hello WOrd!!')
    }
    function User(uname){
        this.uname = uname;
    }
    User.prototype =new person()
    
    var u =new User('admin')
    u['name'] = 'GGGGG'
    console.info(u['name'])
    u.shuo();
    ------
    输出:
    Zurich [script.js:162:11]
    27 [script.js:166:9]
    27 [script.js:167:9]
    Alcazar说:hello! [script.js:177:11]
    GGGGG [script.js:200:9]
    Hello WOrd!!
    

    关于 ES6

    【简介】ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念,但是目前浏览器的 JavaScript 是 ES5 版本,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。

    • 箭头函数
    • 继承
    • 模板字符串
      来看一个实例:
    // 1.箭头函数
    var a =( v, h ) => v + h;
    console.info(a(5,8))
    
    // 2.类
    class Person1{
        constructor(name){
            this.name = name;
        }
    }
    // 3.继承
    class User1 extends Person1{
    
    }
    // 模板字符串
    var name = "aa";
    var age = 20;
    
    var introduce = `
       my name is ${name}, my age is ${age}
    `;
    
    console.info(introduce)
    

    输出:

    13
    my name is aa, my age is 20
    
    

    【总结】:此篇文章用于初步学习和了解【JavaScript】,如果简书朋友们希望能深入学习这门语言。可以看看【W3Cshool】上的教程https://www.w3cschool.cn/javascript/

    相关文章

      网友评论

          本文标题:一篇文章,了解【JavaScript】

          本文链接:https://www.haomeiwen.com/subject/dyrjlctx.html