zoukankan      html  css  js  c++  java
  • js 类型之间的相互转化

    设置元素对象属性
    var img = document.querySelector("img")
    img.setAttribute("src","http://www.baidu.com/img")

    值类型
    number
    string
    undefined
    boolen

    引入类型
    function
    a = function(){
    }

    object
    a = {
    name:"bob",age:18}
    a.age

    null
    a = null;

    其他类型
    Array
    var a = new Array(1,2,3,4,5)
    a = [5,4,3,2,1]

    Date
    var d = new Date();
    year = d.getFullYear()
    d.getDay()
    d.getMonth()
    d.getDate()

    RegExp
    var re = new RegExp("d{3}","g");
    var res = "abc123abc123".match(re)

    re = /d{2}/g;
    res = "alb23abc456".match(re);
    console.log(res);

    re = /[abc]/gi;
    res = "aBc".match(re);
    i不区分大小写
    g全文匹配

    var a = [3,5,2,1,4]
    a[1]

    var dic = {
    name:"bob",
    age:18,
    little-name:"b"}
    dic["name"]
    dic["age"]
    dic.name,dic.age
    dic["little-name"]
    dic中所有key都是string类型,value可以为任意类型
    dic中key可以通过中括号及语法访问值,但key不满足js
    命名规范时,只能使用中括号语法

    类型转化

    1.值类型之间的相互转化
    var num = 10;
    var s = "123";
    var b1 = Boolean(num)
    var b2 = Boolean(s);

    布尔类型转化为数字类型
    Number(false)>>>0
    Number(true)>>>1
    true+true >>>>2

    var s11 = "123";
    常用转化的字符一定是一个合法的数字字符串形式,使用加号,可以快速转化成number
    var n11 = +s11;

    转化为字符串类型

    var nn1 = 123;
    var ss1 = String(nn1);

    var ss2 = nn1.toString();
    var ss3 = "" +nn1;
    console.log(ss1,ss2,ss3);

    var ss4 = 123..toString()
    console.log(ss4);

    弱语言类型
    console.log(3+"5");//"35"
    console.log(3-"5"); // -2
    总结:1.最快转换为数字类型+"123" +true
    2.最快转化为字符串形式 "" + 123 | "" +true

    运算符:
    1.算法运算符
    var res = 5/2; //2.5
    2.var res1 = 5%2;
    3.++在后先赋值再自增
    ++在前先自增再赋值
    4.赋值运算符
    var x=20;
    x+=10;

    5.比较运算符
    var y =10;
    var z ="10";
    y==z 只比较值
    y === z 全等,值与类型都必须相等

    y != z false;
    y !== z true;

    6.逻辑运算符:
    var a1 = 10;
    var a2 =20 ;
    var a3 = "10";

    逻辑与: 条件1&&条件2
    逻辑或: 条件1 || 条件2
    逻辑非: 非真即假

    逻辑运算符的短路效果
    var res1 = a1==a3 && a2++;
    console.log(res1,a2);// 20,21

    逻辑与的短路效果,条件1位假,条件2就不会被执行
    var res1 = al == a3 && ++a2; //
    console.log(res1,a2); // false 20

    逻辑或的短路效果,条件为真,条件2就不会被执行
    var res2 = a1==a3 || a2++;
    console.log(res2,a2);//true 20

    5.三目运算符;结果=条件表达式?结果1:结果2;
    var xx= 10;
    var yy= "10";
    var res = xx ==yy?"xx与yy的值相等":"xx与yy的值不相等"
    console.log(res)

    console.log(NaN == NaN)//false NaN的前身不同,所以是false
    查看是否是NaN isNaN(x)

    if 分支结构
    ```python
    if (表达式1){}
    else if(表达式2){}
    
    
    三种弹出窗口
    alert(123)//普通弹出框
    var res = prompt("请输入:");//输入框
    var  res = confirm("请选择");//确认框,得到true|false
    

    循环

    ①for (循环变量;条件表达式;循环变量增量){}
    for(var i=0;i<5;i++){
    console.log("加油")
    }
    ②var j=0;
        while(j<5){
        console.log("加油");
        j++;}
    ③ var k=0;
        do{
        console.log("加油");
        k++;}while(k < 5);
    总结:
    1.for :解决已知循环次数的
    2.while:可以解决所有for循环可以解决的问题,也可以解决不知道循环次数但知道结束条件
    3.do...while:无论条件是否满足,循环体都会被执行一次
    

    函数
    1.函数的定义
    function 函数名(形参列表){函数体;}
    2.函数的调用
    var res = 函数名(实参列表)
    3.函数的参数
    ①个数不需要统一
    有三个形参可以任意传
    ②可以任意位置具有默认值
    ③通过...语法接收多个值
    4.返回值讲解
    ①可以空return操作,用来结束函数
    ②返回值可以为任意js类型数据
    ③函数最多只能拥有一个返回值
    js函数的重点:如何给事件提供功能
    函数的定义与调用(调用可以写在定义前)

    匿名函数,自定义
    (function(){
    var aaa = 1000;
    console.log("匿名函数的自调用")})()

  • 相关阅读:
    需要学习的技术
    面试资料
    数据库设计三大范式
    java List 排序 Collections.sort() 对 List 排序
    hibernate的延迟加载
    索引失效原因总结
    mybatis调用oracle存储过程
    Android开发中需要注意哪些坑
    Intent在Activity之间传值的几种方式
    Android动画(Animations)
  • 原文地址:https://www.cnblogs.com/robert-zhou/p/10310146.html
Copyright © 2011-2022 走看看