JS基础语法---练习:交换两个变量的值

* JavaScript简称为JS

* JavaScript是什么?

    * 是一门脚本语言:不需要编译,直接运行
    * 是一门解释性的语言:遇到一样代码就解释一行代码
    * C#语言是一门面向对象的语言,也是编译语言,是.net技术使用的
    * 是一门动态类型的语言---不解析
    * 是一门基于对象的语言---不解释
    * 是一门弱类型的语言,声明变量的时候都使用var
    * 强类型的语言:C#就是----->
    * 存储一个数字: int num=10; float num2=90.3;

 

* JS分三个部分:

    * 1. ECMAScript标准: js的基本的语法
    * 2. DOM
    * 3. BOM
 

* JS用了将近10天来发明的

    

* 变量---作用:操作数据(存储数据,读取数据)

    * 变量的声明:
    * var 变量名字;
    * var num;
    * 变量的初始化
    * var 变量名字=值;---->字面量的方式赋值
    * var str="您好啊";
 
    * js中大小写是区分的
    * js中的字符串可以使用单引号,也可以使用双引号---暂时推荐使用双引号
    * js中每行代码结束要有分号  ;
 

* 数据类型:

    * js中的原始数据类型: number,string,boolean,undefined,null,object
    * null和undefined数据是没有太大意义的,null是很有意义的---对象的位置讲
    * NaN----不是一个数字,不是一个数字和一个数字计算--->结果就是NaN
    * isNaN()--->判断这个变量或者这个值是不是 不是一个数字---如果不是一个数字结果是true,如果是一个数字结果false
    *
    * number数据类型----无论是整数还是小数都是number数据类型的
    * string数据类型----字符串,获取字符串的长度:变量名.length
    * boolean数据类型---两个值,true,false
    * null----只有一个,null
    * undefined----只有一个,undefined,一个变量声明了,没有赋值
    * object---对象-----面向对象的时候讲解
    *

* 类型转换:

    * 其他类型转数字
    * parseInt()---->转整数
    * parseFloat()--->转小数
    * Number()---->转数字-----要比上面两个严格
    * 其他类型转字符串
    * .toString()
    * String();
    *
    * 其他类型转布尔类型
    * Boolean()---->要么是true要么是false
    *

* 运算符:----操作符

    * 算术运算符: + - * / %
    * 复合运算符: += -= *= /= %=
    * 赋值运算符:  =  优先级别是最低的
    * 一元运算符: ++  --
    * 三元运算符: ? :
    * 关系运算符: > < >= <= == === != !==
    * 逻辑运算符: && || !
    *
    * 关系运算符的结果是布尔类型
    * 逻辑运算符的结果是布尔类型
    *
    * 表达式1&&表达式2
    * 如果有一个为false,整个结果就是false
    * 表达式1||表达式2
    * 只有有一个为true,整个结果为true
    * !表达式---结果就是取反
    *

*  练习: 交换两个变量的值

1. 变量的交换第一种思路: 使用第三方temp进行交换

    // 变量的交换第一种思路: 使用第三方temp进行交换
var num1 = 10;
var num2 = 20;
// 先把num1的值取出来放在temp中
temp = num1;
// 再把num2的值取出来放在num1中
num1 = num2;
// 最后把temp的值取出来放在num2中
num2 = temp;
console.log(num1, num2); //20 10

2. 第二种方式交换:一般适用于数字

    // 第二种方式交换:一般适用于数字
var num1 =10;
var num2 =20;
// 把num1变量中的值和num2变量中的值,取出来相加,重新赋值给num1
num1 = num1 + num2; //30
// 把num1变量的值和num2变量的值取出来,相减的结果重新赋值给num2
num2 = num1 - num2; //30-20=10
// 把num1变量的值和num2变量的值取出来,相减的结果重新赋值给num1
num1 = num1 - num2; // 30-10=20
console.log(num1, num2) // 20 10

3. 第三种:扩展,变量交换,位运算

    // 第三种:扩展,变量交换,位运算
var num1 = 10;
var num2 = 20;
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
console.log(num1, num2); //20 10
上一篇:POJ1080 Human Gene Functions 动态规划 LCS的变形


下一篇:字节流与字符流的区别&&用字节流好还是用字符流好?