一、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. AJAX调用数据,滚动到底部

    最近一个小项目里面,需要使用AJAX去拉取数据,并且直接显示最后一条信息,也就是滚动到底部.实现脚本如下: var scrollHeight = $('.txtBox3').prop("sc ...

  2. pytest_05_fixture之conftest.py

    前面一篇讲到用例加setup和teardown可以实现在测试用例之前或之后加入一些操作,但这种是整个脚本全局生效的,如果我想实现以下场景: 用例1需要先登录,用例2不需要登录,用例3需要先登录.很显然 ...

  3. 【简解】SP7556 Stock Charts

    题目大意 给出一个折线图,有N条线段,你想要把这些线段分成几个集合,使得每个集合中任意两条线段不相交. 求最少集合数. 分析 喵帕斯:以下提及的所有折线均指横坐标在\([1,k]\)里的折线段. 思考 ...

  4. HBase 系列(九)——HBase 容灾与备份

    一.前言 本文主要介绍 Hbase 常用的三种简单的容灾备份方案,即CopyTable.Export/Import.Snapshot.分别介绍如下: 二.CopyTable 2.1 简介 CopyTa ...

  5. AESUtil

    AESUtil package cn.ucaner.alpaca.common.util; import sun.misc.BASE64Decoder; import sun.misc.BASE64E ...

  6. ASP.NET WebApi 学习与实践系列(1)---如何创建 WebApi

    写在前面 最近在做一个app的时候发现需要写后台服务.所以,在考虑是使用webapi还是使用webserver来写这个后台服务的时候.爱纠结的我,最后还是选择了使用webapi来写这个后台服务. 原因 ...

  7. java之spring之对象的创建

    首先提供目录结构如下: 下面提供各文件代码,以供参考: UserDynamicFactory.java package cn.sxt.factory; import cn.sxt.vo.User; / ...

  8. Windows 创建 Redis 和 zookeeper 系统服务

    Redis 启动 Redis start cmd /k "cd/d c:\Redis-x64-3.2.100\&&echo start Redis &&red ...

  9. tf.reduce_max的运用

    a=np.array([[[[1],[2],[3]],[[4],[25],[6]]],[[[27],[8],[99]],[[10],[11],[12]]],[[[13],[14],[15]],[[16 ...

  10. 【开发工具】- Myeclipse10.7破解方法

    1.下载myeclipse 10,如果没有,可以使用链接:https://pan.baidu.com/s/1l9juqD4ALMuepVL6e5kgjA 密码:kpx6:当然时间久了可能链接失效,如有 ...