• 21、javascript 基础


    Javascript

    Javascript 是一种嵌入到HTML文档的脚本语言,由浏览器解释和执行,无需编译。

    Javascript 是大小写敏感的,大写字母与小写字母不同。

    使用“;”分号来分割每一句js。

    <scirpt>标签

    javascript 代码必须放在<script></script>标记中

    引入外部脚本

    <script src="text/javascript" src="/js.js"></script>

    Javascript 输出

    document.write("向html输出一句话");
    
    document.getElementById('id').innerHTML="设置的值"; //找到html中ID属性为id的元素并设置他的文本。

    Javascript 注释

    //单行注释

    /**/ 多行注释

    Javascript 变量

    在javascript中,使用var声明变量。如:var a,b,c;

    使用 = 号 赋值。 如:a = 1; b = 2 ; c = "abc";

    未赋值的变量值为underfined

    Javascript 数据类型

    基本类型:数字类型、布尔类型、字符串类型

    引用类型:对象类型、函数类型

    空类型:null、underfined

    运算符:typeof

      语法:返回类型是字符串,用于查看该变量属于什么类型。 string typeof(变量);

    Javascript是若类型语言(不严格检查类型内容),使用var声明变量。

    <script type="text/javascript">
    //基本类型
    var num = 1; //number
    alert(typeof (num));
    
    var flag = true; //boolean
    alert(typeof (flag));
    
    var code = "123"; //string
    alert(typeof (code));
    
    //引用类型
    var nums = new Array( 1,2,3,4,5); //数组 object
    alert(typeof (nums));
    
    var date = new Date(); //日期 object
    alert(typeof (date));
    
    var func = function(){}; //函数 function
    alert(typeof (func));
    
    //空类型
    var color = null; //空 返回object 引用类型属于object 特例
    alert(typeof (color));
    
    var underfined; //underinfed 未定义
    alert(typeof (underfined));
    </script>

    Javascript 数组

    var arry1 = new Array();  //方式1
     arry1[0] = "bai";
     arry1[1] = "da";
     arry1[2] = "wei";
    var arry2 = new Array("bai","da","wei"); //方式2
    var arry3 = ["bai","da","wei"];  //方式3
    
    alert(arry1.length);
    alert(arry2.length);
    alert(arry3.length);

    Javascript 运算符

    算数运算符:+(加)、-(减)、*(乘)、/(除)、%(取余)、++(递加)、--(递减)(字符串中+用于连接)。

    赋值运算符:=(复制)、+=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)、%=(余等于)。

    比较运算符:==(等于)、===(绝对等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。

    逻辑运算符:&&(与)、||(或)、!(非)。

    Javascript 逻辑控制

    IF--ELSE

    用来区间性判断,类似c#。

    var num = 10;
    if(num > 0 && num < 5)
    {
        alert(typeof (num));
    }else if(num > 5 && num < 10)
    {
        alert("else if");
    }else
    {
        alert("else");
    }

    Switch--Case

    用于等值比较,类似c#。

    var num = 10;
    switch(num)
    {
        case 1 :
            alert("1");
        break;
        case 2 :
            alert("2");
        break;
        default:
            alert("3");
        break;
    }

    三元运算符

    conditions ? statementA : statementB ;

    Javascript 循环

    while循环

    先执行再判断

    var num = 1;
    while(num<=10){
        document.write(num);
        num++;
    }

    do--while循环

    先判断再执行

    var num = 1;
    do{
        document.write(num);
        num++;
    }while(num<=10)

    for循环

    for(var num = 1; num <= 10; num++)
    {
        document.write(num);
    }

    for--in循环

    类似foreach,但是不同。

    //遍历数组
    var nums = new Array(1,2,3,4,89,23); //数组
    for(var item in nums)
    {
        document.write(item);
    }
    
    //遍历键值对 json
    var kv = {
        "key1":"value1",
        "key2":"value2"
    }
    for(var item in kv)
    {
        document.write(kv[item]);//输出的是值 item是键
    }

    Break和Continue

    break 立刻退出循环

    Continue 结束本次继续下次循环

    函数

    javascript中使用Function定义函数。

    语法:

      function  函数名(参数列表){

        //如果有返回值直接return

      }

    function getMax(num1,num2)
    {
        return num1 > num2 ? num1 : num2; //三元表达式
    }
    
    var num1 = 10;
    var num2 = 20;
    var result = getMax(num1,num2);
    document.write(result);

    Lambada函数(匿名函数)

    var arry = [23,4,48,23,54,34,23,54]; 
    
    var getMax = function (nums)   //注意这里不一样
    {
        var result = 0;
        for(var i = 0;i < nums.length ; i++)
        {
            if(nums[i] > result)
                result = nums[i];
        }
        return result;
    }
    
    document.write(getMax(arry));

    arguments 参数

    在函数内部有一个arguments参数,用来表示函数的参数。

    //如果一个方法不写参数,默认会有一个arguments
    var func = function() //这里没有写参数
    {
        document.write(arguments.length); //这里输出内置参数长度
    }
    
    func(1,2,3); //给这个方法三个参数 输出结果为3

    可以看到即使不指定参数,默认也会有一个内置函数来接收他们。可以循环输出他们,如果在这个情况下写参数呢?

    var func = function(num) //这里加一个参数
    {
        document.write(num); //输出这个参数
        document.write(arguments[0]); //输出第一个内置函数的参数
        document.write(arguments.length); //这里输出内置参数长度
    }
    
    func(1,2,3);  //结果 1 , 1 , 3 

    可以看出,arguments对象中第一个参数跟写上的参数是相等的。

    因为javascript是没有方法的重载的,利用argments可以实现方法重载。

    //可以这样模拟方法重载
    //根据参数的个数不同来调用不同的方法
    var foo = function()
    {
        switch(arguments.length)
        {
            case 0 : 
                func1();
            break;
            
            case 1 : 
                func2();
            break;
            
            case 2 : 
                func3();
            break;
        }
    }

    Function对象

    动态函数,将字符串变成函数。

    最后一个参数是函数的方法体,之前的参数都是函数的参数。

    var func = new Function("num1","alert(num1)"); //将指定字符串转换为javascript函数
    func(10);
    
    //等同于
    
    var func = new Function("num1","alert(num1)")(10); //直接执行

    Javascript 对象

    js是面向对象的语言。

    js中对象就是键值对,因为在键值对中,值可以是数字、字符串或布尔类型。比如字段。也可以是函数,比如方法var foo = function (){};键就是变量名或函数名。

    对象的字面值(JSON),JSON是javascript中的表现形式。

    var o = {}; //object 对象
    alert(typeof o);

    输出object

    var o = { //自定义对象 JSON
        name:"david",
        age:24,
        sex:"",
        sayHi:function()
        {
            alert("你好");
        }
    };
    document.write(o.name);
    o.sayHi();

    以上自定义对象,这种格式其实就是JSON。

    在js当中支持将对象当作数组使用,所以可以类似索引器这样使用:对象[字符串]。

    var person = new Object();
    person.name = "david";
    person.age = 28;
    person.sayHi = function(){
        alert("你好,我是"+this.name);
    }
    
    document.write(person["name"]); //对象[字符串]
    
    for(var item in person){
        if(typeof person[item] == "function")
            person[item]();
        else
            document.write(person[item]);
    }

    构造方法

    调用的时候使用new 就可以将其作为构造方法来使用

    js没有类,直接使用构造方法创建对象。

    instanceof判断变量是否是构造方法创建出来的

    alert({} instanceof Object); //true;
    var Foo = function(){//创建一个函数
        this.name = "david"; //使用this添加
        this.age = 28;
        this.sayHi = function(){
            alert("你好,我是"+this.name);
        };
    }; 
    var obj = new Foo(); //使用new关键字调用构造方法
    alert(typeof obj); //object 不是function
    alert(obj instanceof Foo); //true
    
    alert(obj["name"]);
    alert(obj.age);
    obj.sayHi();

    js是支持动态成员的,如果一个对象没有某属性,可以马上为他指定属性

    obj.sex = ""; //本来是没有这个属性的
    alert(obj.sex);

    类型转换

    数字转换为字符串
    1、数字+”“
    2、数字.toString()
    字符串转换为数字
    1、字符串-0
    2、Number(字符串)
    3、parseInt(字符串)  parseFloat(字符串)
    布尔转换
    if(!!var) 双否定 真假不变,但是会自动转换为number

    操作字符串

    string.indexOf(); 查找字符串
    string.lastIndexOf(); 从后找
    string.substring(start,stop); 截取
    string.replace(); 替换
    string.split(); 分割
    string.toLowerCase(); 转小写
    string.toUpperCase(); 转大写

    获取时间
    Date(); 获得当前的日期时间
    getDate(); 从Date对象获得一个月中的某一天
    getDay();  从Date对象获得一周中的某天
    getMonth(); 从Date对象获得月份
    getFullYear(); 从Date对象返回四位年份
    getHours(); 返回小时
    getMinutes(); 返回分
    getSeconds(); 返回秒

    设置时间
    setDate(); 设置日期时间 其他类似

    算数
    Math.round(4.7) 四舍五入
    Math.radom() 随机数 0~1
    Math.floor(Math.random()*11) 0~10

    错误处理

    try{
        /*可能出错的代码*/
    }catch{
        /*出错的处理*/
        throw "抛出"
    }finally{
        /*无论出错与否,都将执行*/
    }
  • 相关阅读:
    构建helm chart应用
    关于使用KubeSphere中的docker配置Harbor仓库http访问docker login登陆报错的解决办法
    Harbor配置自签名证书,docker login+web https访问,helm chart推送应用
    Harbor仓库配置https访问
    Chart 文件结构
    helm chart应用使用示例
    docker-compose命令使用说明
    访问Harbor报502 Bad Gateway
    harbor helm仓库使用
    Helm命令日常使用
  • 原文地址:https://www.cnblogs.com/baidawei/p/4747982.html
Copyright © 2020-2023  润新知