一、what

变量就是用来存储数据的容器

二、how

  • 通过var 关键字定义一个变量

 var  n1;   //定义变量
  • 变量的赋值:通过赋值运算符“=” 给变量赋值。

var  n2=123;     //定义变量并赋值为123
  • 注意:

1.如果想要比较两个变量是否相同,不能使用“=”进行比较。

2.变量声明(有var,有变量名字,没有值)

var n1;
 var n1,n2,n3;

3.变量初始化(有var,有变量名字,有值)

var n1=1;
 var n1,n2,n3;
n1=1;
n2=2;
n3=3;

三、变量的命名规范

  • 不能使用纯数字或数字开头定义变量

  • 不能使用纯特殊字符或者开头(“_”除外)定义变量

  • 不推荐使用汉字定义变量

  • 不能使用关键字定义变量

  • 不推荐使用保留字定义变量

  • js中区分字母大小写。

        var ssd=prompt("请输入摄氏度");
var hsd=5/9*ssd+32;
alert(hsd);

四、变量交换的三种方法:

        var num1 = 10;
var num2 = 20;

如上,如何实现num1和num2的数字交换呢?

  • 方法一:使用第三方的变量进行交换
        var temp = num1;
var num1 = num2
var num2 = temp;
console.log(num1);//
console.log(num2);//
  • 方法二:加减法(适用于数字的交换)
        var num1 = num1 + num2;
var num2 = num1 - num2;
var num1 = num1 - num2;
console.log(num1);//
console.log(num2);//10
  • 方法三:位运算(扩展,C语言的方法)
        var num1 = num1 ^ num2;
var num2 = num2 ^ num1;
var num1 = num1 ^ num2;
console.log(num1);//
console.log(num2);//10

记住这个列子: 假如 a = 3,b = 4。想将a和b的值互换,可以用一下赋值语句实现:

a = a ^ b;
        b = b ^ a;
        a = a ^ b;


下面用竖式进行简单说明:(10进制化为二进制)
    
        a = 011
(^)    b = 100
则    a = 111(a ^ b的结果赋值给a,a已变成了7)
(^)    b = 100
则    b = 011(b^a的结果赋给b,b已经变成了3)
(^)    a = 111
则    a = 100(a^b的结果赋给a,a已经变成了4)

 

JS变量和变量交换的三种方法的更多相关文章

  1. JavaScript进阶(四)js字符串转换成数字的三种方法

    js字符串转换成数字的三种方法 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b. ...

  2. c语言实现两数交换的三种方法

    实现变量的值互相交换的三种不同方法 方法一:利用第三个变量来实现数值的交换 int tmp; tmp = a; a = b; b = tmp; 此方法直观,简易.不易出错,推荐使用 方法二:利用两个变 ...

  3. 在C语言中不使用任何中间变量如何将a、b的值进行交换(三种方法)——来自一小萌新工程师的复习

    今天面试嵌入式,突然遇到这么一道题目,虽然简单,但鉴于我答得不是很好,所以还是分析一下为好. 第一种方法: 通过加减法. #include"stdio.h" int main(vo ...

  4. js 字符串转换成数字的三种方法

    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形 ...

  5. js字符串转成数字的三种方法

    js读取的html代码中获得的值 ,统统是以字符串的形式呈现的,为了方便我们后面对数据的操作,有时候我们有必要进行转换一下. 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转 ...

  6. js中设置元素class的三种方法小结

     一.el.setAttribute('class','abc'); 代码如下: .abc { background: red; } test div var div = document.getEl ...

  7. js&jquery:添加事件的三种方法和常用的一些事件

    一.添加事件的方法 1.EventTarget.addEventListener添加 获取事件目标元素,通过addEventListener函数添加 // Assuming myButton is a ...

  8. js区别对象和数组的三种方法

    var arr = {}||[];            区分arr是数组还是对象            1.arr.constructor                              ...

  9. 两个变量交换的四种方法(Java) 七种方法(JS)

    两个变量交换的四种方法(Java)   对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) 1 class TestEV 2 ...

随机推荐

  1. mysql 导入sql大文件

    引自:https://dba.stackexchange.com/questions/83125/mysql-any-way-to-import-a-huge-32-gb-sql-dump-faste ...

  2. 关于elasticsearch使用G1垃圾回收替换CMS

    最近ES集群数据节点经常出现jvm占用过高,频繁GC导致ES集群卡死,很长时间才恢复.在网上看到用G1垃圾回收可以改善这一情况,但都是老版本的ES,我们现在使用的版本是5.5.2,所以想问问各位5.5 ...

  3. 【Maven基础入门】02 了解POM文件构建

    温故 上一节我们说过:Maven 是一个基于POM文件的构建工具,当然离不开POM文件 POM文件是一个XML标记语言表示的文件,文件就是:pom.xml 一个POM文件包含了项目的基本信息,用于描述 ...

  4. C#——零散学习

    C#——零散学习0 //控制台输入字符串,转化为int,double,float等数值类型: //Convert.ToXXX32();函数. Convert.ToInt32(); //把字符串转换为i ...

  5. JUC - ThreadPoolExecutor

    JUC - ThreadPoolExecutor 创建一个ThreadPoolExecutor ThreadPoolExecutor( int corePoolSize, // 保留在池中的线程数,即 ...

  6. JavaScript变量存储浅析(二)

    Hello,上一篇(http://www.cnblogs.com/souvenir/p/4969399.html)我们简单的分享了JS中的变量存储原理,但是并未结束,我们漏掉了什么. 对了,就是关于对 ...

  7. I2C总线

    PHILIPS公司开发的两线式串行总线 GPIO模拟i2c驱动中有自己的一套传输算法.GPIO模拟I2C是要占用CPU资源的,而用I2C芯片是不占CPU资源的 特点 接口线少,控制方式简单,器件封装形 ...

  8. jhipster技术栈研究

    背景: 公司新的微服务项目都用jhipster脚手架来开发,这篇博客是jhipster里面涉及到技术的汇总目录 一.官方文档中涉及到的技术栈 前端技术栈 Angular / React / Vue R ...

  9. Linux系统 jboss/Tomcat服务器pdf文件乱码问题

    1.新搭建的环境,但是没有字符集,在windows上的电脑上复制了一份宋体, 字体C:\WINDOWS\FONTS\simsun.ttc(也就是宋体,大小为10M),把他重命名为 simsun.ttf ...

  10. MySQL/MariaDB数据库的复制过滤器

      MySQL/MariaDB数据库的复制过滤器 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.复制过滤器概述 1>.复制器过滤器功能 让从节点仅复制指定的数据库,或指 ...