zoukankan      html  css  js  c++  java
  • JavaScript基础知识二

    1、数据类型
        1、查看数据类型
            1、语法
                typeof() 或 typeof 
                ex:
                    var num = 35;
                    console.log(typeof(num));
        2、数据类型的转换
            1、隐式转换
                自动进行转换
                1、字符串 + 数字 :将数字转换为字符串
                    ex
                        1、"你好" + 123 :"你好123"
                        2、"78" + 15 :"7815"
                        3、var r = "78"+15+13;
                            r : "781513"
                        4、var r = 15+13+"78";
                            r : "2878"
                2、数字 + 布尔值 :将布尔值转换为数字
                    ex:
                        1、25 + true :26
                        2、38 * false :0
                3、字符串 + 布尔值 :将布尔值转换为字符串
                    ex:
                        1、"你好" + true :"你好true"
                        2、"Hello" + false : "Hellofalse"
                4、布尔值 + 布尔值 :将布尔值转换为数字
                    ex:
                        1、true + false : 1
            2、强制转换 - 转换函数
                "78" + 15,问题:想将"78"转换为数字,该怎么办
                1、toString()
                    将任意类型的数据转换成字符串
                    语法:
                        var 结果 = 数据.toString();
                        var r = "张".charCodeAt().toString(16);
                2、parseInt()
                    Integer : 整数
                    作用:将指定的数据转换为整数
                    语法:
                        var 结果 = parseInt(数据);
                    ex:
                        1、var r = parseInt(78.5);
                            r : 78
                        2、var r = parseInt("78");
                            r : 78
                        3、var r = parseInt("78ABC");
                            r : 78
                        4、var r = parseInt("ABC78");
                            r : NaN (Not a Number)
                3、parseFloat()
                    作用:将任意类型的数据转换为 小数
                    ex:
                        1、var r = parseFloat("38.5");
                            r : 38.5
                        2、var r = parseFloat("38.5你好吗!")
                            r : 38.5
                        3、var r = parseFloat("你好吗38.5");
                            r : NaN
                4、Number()
                    作用:将任意类型的数据转换为数字(整数或小数)
                    注意:如果转换的数据中包含非数字的字符,则返回NaN 
                    ex:
                        1、var r = Number("35");
                            r : 35
                        2、var r = Number("35.5");
                            r : 35.5
                        3、var r = Number("Hello 35.5");
                            r : NaN
                        4、var r = Number("35.5Hello");
                            r : NaN
    2、运算符 和 表达式
        1、什么是表达式
            表达式是由运算符 和 操作数来组成的式子
                var result = 35 + 28;
                console.log(a = 35); //结果为 35
                b=a=35; 正确的表达式,a 和 b 的值,都是35
        2、运算符
            1、算术运算符
                +,-,*,/,%,++,--
                优先级:
                    ++,-- 最高
                    *,/,% 居中
                    +,- 最低
    
                ++ : 自增运算符
                    在自身基础上做+1的操作
                    ++ 做前缀:
                        var i = 10;
                        console.log(++i); // 11
                        先对i进行+1操作,然后再使用i的值(先自加,再取值)
                    
                    ++ 做后缀:
                        var j = 10;
                        console.log(j++); // 10
                        console.log(j); // 11
                        先使用j的值,然后再对j进行+1操作(先取值,再自加)
                -- : 自减运算符
                    在自身基础上做-1的操作
    
                ex:
                    1、var i = 10;
                        console.log(i++);//输出:10 变为:11
                        console.log(++i);//12 变为 :12 输出 12
                        console.log(i++);//12 输出 :12 变为 13
                        console.log(i++);//13 输出 :13 变为 14
                        console.log(i);//14 输出 :14
                    2、
                        var i = 10;
                                10  10(11)(12)12 12(13) (14)1414
                        var r = i + i++ + ++i +  i++ +  ++i + i;
                        10+10+12+12+14+14 :72
                        //72,78,
            2、关系运算符(比较运算符)
                >,<,>=,<=,==,!=,===,!==
                优先级:
                    1、>,<,>=,<=
                    2、==,!=,===,!==
                == : 判断等于
                = : 赋值
                != : 判断两个数据是否不相等,不等为true
                === : 判断数值和数据类型是否都一直
                    var n1 = 35;
                    var s1 = "35";
    
                    n1 == s1 : true
                    n1 === s1 : false
    
                ex:
                    1、3 > 10 : false
                    2、"3" > 10 : false
                    3、"3a" > 2 : false
                    4、"3" > "10" : true
                    5、"张三丰" > "张无忌" : false
    
    
                注意:
                    1、两个操作数,如果一个是数字,一个是字符串的话,默认会将字符串通过 Number() 转换成数字,再做比较
                    2、NaN
                        NaN 与 任何数据做 != ,结果都为 true
                        其它操作全是 false
                    3、字符串 与 字符串进行比较时,实际上上比较的是每位字符的Unicode码
                        1、"3" > "10"
                            实际上比较的是 3 跟 1 的Unicode码的大小
                        2、"张三丰" > "张无忌" : false
                            实际上比较的是 "三" 跟 "无" 的unicode码的大小
    
                            张(24352)三(19977)丰
                            张(24352)无(26080)忌
                        3、35 > "张三丰"
                            结果:false
                    4、判断一个数据是否为数字
                        NaN 不能使用 == 或 != 来进行判断
                        想判断一个数据是否为数字,使用以下函数
                        isNaN() : 判断一个数据是否为 非数字
                            如果为非数字的话,返回true
                            否则(是数字) ,返回 false
                        语法:
                            var 结果 = isNaN(数据);
                        ex:
                            1、var r = isNaN("35.5");
                                false
                            2、var r = isNaN("35你好");
                                true
                            3、var r = isNaN("你好35");
                                true
                            4、var r = isNaN(35)
                                false
            3、逻辑运算符
                &&,||,!
                && : 两个条件都为true,整个表达式为true
                || : 两个条件,有一个为true,整个表达式就为 true
                ! : 对现有条件结果,取反。非真即假,非假即真
    
              短路逻辑:
                    1、短路逻辑 &&
                        条件1 && 条件2
                        当第一个条件为false时,整体表达式结果就是false,就不会判断执行第二个表达式
    
                        如果条件1为true的话,那么就要继续判断执行第二个条件
    
                        条件 && 操作
                        如果操作中有多条语句要执行,则使用(),括起来,并用 , 隔开
                    2、短路逻辑 ||
                        条件1 || 条件2
                        当第一个条件为true时,就不再执行条件2,整个结果为 true
    
                        当第一个条件为false时,则继续执行第二个条件
    
                        条件1 || 操作
            4、位运算符
                1、位运算符
                    是将数字先转换为二进制,再进行操作
                2、详解
                    1、<<
                        按位左移,将数字变大
                    2、>>
                        按位右移,将数字变小
                    3、&
                        按位与,判断奇偶性可以使用按位&
                        将任意数字与1做按位与操作,结果为1,是奇数,结果为0,是偶数
                        ex:
                            35 & 1 : 1 -> 奇数
                            38 & 1 : 0 -> 偶数
                    4、|
                        按位或,对小数取整时使用
                        将任意数字与0做按位或操作,结果为 保留整数部分
                        ex:
                            35.857 | 0 : 35
                    5、^
                        按位异或,交换两个数字时使用
                        var a = 15;
                        var b = 18;
    
                        a = a ^ b; 结果:29
                        b = b ^ a; 结果:15
                        a = a ^ b; 结果:18
                    
            5、赋值运算符 & 扩展的赋值运算符
                1、赋值运算符 :=
                2、扩展的赋值运算符
                    +=,-=,*=,/=,%=,^= ... ...
                    a+=b; => a = a + b;
                    a^=b; => a = a ^ b;
                    ex:
                        使用 扩展的赋值运算符,简化下列操作
                        a = a ^ b; ( a^=b;)
                        b = b ^ a; ( b^=a;)
                        a = a ^ b; ( a^=b;)
            6、条件运算符(三目运算符)
                单目(一元)运算符 :只需要一个操作数的运算符
                    ++,--,!
                    ex:
                        a++
                        ++a
                双目(二元)运算符 :需要两个操作数的运算符
                    +,-,*,/,%,>,<,>=,<=,==,!=,==,!==,&&,||,<<,>>,&,|,^
                三目(三元)运算符 :需要三个操作数的运算符
                    条件运算符 ?:
                
                语法:
                    条件表达式?表达式1:表达式2;
                    
                    条件运算符的嵌套,在表达式1 和 表达式2,可以再继续使用条件运算符
              
            var num = 5;
            console.log(5 & 1 == 1);
            结果:1
    
            var num = 5;
            console.log((5 & 1) == 1);
            结果:true
    3、函数 - function
        1、什么是函数
            函数是一段预定义好,可以被反复执行的代码块
                预定义:提前声明好,并非马上执行
                代码块:可以包含多条可执行的语句
                反复执行:允许被多次使用(调用)
            使用过的函数:
                parseInt() :有参数,有返回值
                parseFloat() :有参数,有返回值
                Number() :有参数,有返回值
                console.log() :有参数,无返回值
                alert() :有参数,无返回值
                prompt() :有参数,有返回值
        2、定义和使用函数
            1、普通函数的声明 和 调用
                1、声明
                    function 函数名(){
                        //函数体 - 若干条可执行的语句
                    }
                2、调用
                    在任意的JS位置处,可以通过
                        函数名();
                    对函数进行调用
            2、带参数 带返回值的函数
                语法:
                    function 函数名(形参列表){
                        return 值;
                    }
    
                    1、形参列表
                        形参:形式参数,定义函数时定义的参数,如果是多个参数的话,用 "," 隔开即可
                    2、返回值
                        在函数体内,要带给函数体外的一个数据
                调用:
                    1、在JS的任意位置处通过  函数名(); 调用函数
                    2、如果函数有参数的话,则需要传递参数(实参)给函数。
                    3、如果函数有返回值的话,则可以在函数调用处,通过一个变量来接收返回值
    
  • 相关阅读:
    Building a Basic .NET Remoting Application
    Building a Basic .NET Remoting Application 之一 Building a Remotable Type
    Type Library Exporter (Tlbexp.exe)
    .NET Remoting Architecture
    Runtime Hosts
    Building a Basic .NET Remoting Application 之二 Building a Host Application
    Building a Basic .NET Remoting Application 之三 Building a Client Application
    C语言字符串大全(转自百度百科)
    作业 双向链表
    递推练习 简单n!
  • 原文地址:https://www.cnblogs.com/mountboy/p/13542774.html
Copyright © 2011-2022 走看看