一、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. linux设置定时任务的方法(自己总结)

    Linux设置定时任务步骤 linux设置定时任务的关键字是:crontab 1:查看现在已经有的定时任务的命令是  crontab -l,执行命令如下图: 2:新建定时任务的命令是:crontab ...

  2. .Net MVC如何渲染带有网页标签的字符串

    有时候我们在解析一段文字时,可能文字中会包含网页上的标签,如div.p等等.那么如果将这种文字渲染成对应的标签效果呢?如图,最近博主就拿到了这么一段字符串(如图) 由于中间带有很多特殊字符,用Html ...

  3. 使用Dapper查询记录是否存在

    /// <summary> /// Dapper数据访问抽象基础类 /// </summary> public class DapperHelper { public stat ...

  4. Asp.net MVC 之ActionResult

    ActionResult 派生出以下子类: ViewResult 返回一个网页视图 PartialViewResult 返回一个网页视图,但不适用布局页. ContentResult 返回一段字符串文 ...

  5. koa2--nodemailer实现邮箱验证

    依赖包安装: /** * koa-bodyparser用于把formData数据解析到ctx.request.body * 通过ctx.request.body访问请求的参数 * koa-redis用 ...

  6. 【TBarCode SDK教程】TBarCode SDK 如何在 Microsoft Office 中工作?

    使用条形码软件组件 TBarCode SDK,你可以在 Microsoft Office 中快速且简便地创建各种条形码.都不需要任何编程的技巧,只需要点击几次鼠标就可以将TBarCode SDK集成到 ...

  7. unity点击按钮换按钮图标

    在做项目时,比如声音开关我们涉及到按钮的图标切换. using System.Collections; using System.Collections.Generic; using UnityEng ...

  8. idea之将Maven的jar包安装到本地仓库

    1.问题概要 很多时候,我们需要应用第三方的jar包,但是这个jar包,在maven远程仓库里面没有, 比如我们要使用京东的sdk,但这个sdk在maven的远程仓库中没有,于是我们需要将这个jar包 ...

  9. Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the

    参考链接 解决方法: 修改 php.ini  : always_populate_raw_post_data = -1 PHP 5.6已经废弃了$HTTP_RAW_POST_DATA

  10. Spring 重定向(Redirect)指南

    原文:Hacking the IntegerCache in Java 9? 链接:https://dzone.com/articles/hacking-the-integercache-in-jav ...