-->变量的定义

  1.取得并使用值是所有程序设计中的要点
  2.JS中的变量是没有类型的,在JS中只有值才持有类型,变量所持有的是其对应值的类型。
  3.变量的取名要符合标识符的规则:
      (1)一个JavaScript标识符必须以字母、下划线(_)或者美元符号($)开头
      (2)不能以数字开头
      (3)不能使用关键字
      (4)标识符一般都要采用驼峰命名法:首字母小写,每个单词的开头字母大写,其余字母小写

-->变量的声明

    var a; 
               (1)使用关键字var,用var关键字声明的变量,如果没有初始赋值,则其值为 undefined
       (2)ECMAscript的变量是松散型的,即可以用来保存任何类型的值
       (3)我们也可以一次声明多个变量。
-->变量的初始化 =变量的声明 +变量的赋值
             var b=1;
-->JS中的数据类型分为基本数据类型和引用数据类型
           一、六种基本数据类型 :
      boolen 布尔值 ,返回类型:ture 和false
      null 一个表明null值的特殊关键字
      undefined 变量为定义时的属性
      number 表示数字
      String 表示字数串
      Symbol(在ECMAScript6中新添加的类型)

二、引用数据类型

      数组
      函数
      object

typeof运算符

      语法 typeof a or typeof (a)
      描述:
      类型         结果
      Undefined       "undefined"
      Null          "object"
      Boolean        ”boolean"
      Number        "number"
      String         "string"
      Symbol        (ECMAScript 6 新增) "symbol"
      函数对象        "function"
      任何其他对象      "object"
   注意:
    typeof null === "object"; // true
    正确的返回结果应该是 "null" ,但这个 bug 由来已久,在 javascript 中已经存在了将近二十年,也许永远也不会修复,因为这牵涉到太多的 Web 系统, 修复它会产生更多的 bug,会令许多系统无法正常工作。
算术运算符:

算术运算符使用数值(字面量或者变量)作为操作数并返回一个数值.标准的算术运算符就是加减乘除(+  -  *  /  %)。

特殊要注意的是,除零会产生Infinity  typeof infinity 返回类型是number

  1.自增:a++的值等于原变量的值
                ++a的值等于新值(自增后的值)
  2.自减  同理

3.一元负值符(-)              返回操作数的负值

4.一元正值符(+)             如果操作数不是number则试图将其转换为number

5.指数运算符(**)            计算底数的指数次方

注意:

              对字符串进行+运算时,本质是进行的字符串拼接操作

  字符串运算符

             连接操作符(+)连接两个字符串值相连接,返回另一个字符串,它是两个操作数串的结合    “A” +"B" = AB

逻辑运算符

逻辑运算符常用于布尔(逻辑)值之间; 当操作数都是布尔值时,返回值也是布尔值。 不过实际上&&和||返回的是一个特定的操作数的值,所以当它用于非布尔值的时候,返回值就可能是非布尔值

逻辑与 (&&)                             &&用于布尔值时,当操作数都为true时返回true;否则返回false.

逻辑或 (||)                                 ||用于布尔值时,当任何一个操作数为true则返回true;如果操作数都是false则返回false。

逻辑非 (!)                                 !expr(逻辑非) 如果操作数能够转换为true则返回false;否则返回true。

赋值运算符

一个赋值运算符就是将它右边操作数的值赋给它左边的操作数。最简单的赋值运算符是等于(=),它将右边的操作数值赋给左边的操作数。那么 x = y 就是将 y 的值赋给 x

复合赋值操作符

加法赋值       x += y     x = x + y

减法赋值       x -= y      x = x - y

乘法赋值       x *= y     x = x * y

除法赋值       x /= y      x = x / y

求余赋值    x %= y   x = x % y

比较运算符

通过关系运算符可以比较两个值之间的大小关系,

如果关系成立它会返回true,如果关系不成立则返回false

  > 大于号    >= 大于等于

< 小于号       <= 小于等于

    ==  ===       三等号不会做自动类型转换  双等号会做自动类型转换

    !=  !==

位操作符

在计算机中数值都以二进制补码形式存储和运算。

   原码:是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

  反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

  补码:正数的补码与其原码相同;负数的补码等于其反码+1。

9       原码                 反码                    补码 +1

00001001         11110110             11110111

8位无符号的二进制可以代表的整数范围:0~255

8位有符号的二进制可以代表的整数范围:-128~127

JavaScript笔记(2)的更多相关文章

  1. [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象

    js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...

  2. [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符

    “1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...

  3. [Effective JavaScript 笔记]第3章:使用函数--个人总结

    前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...

  4. [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码

    函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...

  5. [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法

    js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...

  6. 从头开始学JavaScript 笔记(一)——基础中的基础

    原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成   javascript   ECMASc ...

  7. 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight

    做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...

  8. JavaScript笔记目录

    JavaScript笔记目录 一.JavaScript简介 二.在HTML中使用JavaScript ...持续更新中,敬请期待

  9. 蛋糕仙人的javascript笔记

    蛋糕仙人的javascript笔记:https://www.w3cschool.cn/kesyi/kesyi-nqej24rv.html

  10. JavaScript笔记(第一章,第二章)

    JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...

随机推荐

  1. Future模式 总结

    future模式解决异步代码的组织(混入)问题: 类似的解决方案: 1.网络响应的block: 2.SDImageview的自组织.代理模式: 3.顶层响应机制的协议机制:

  2. 用SAXReader解析xml文档【转】

    来源:http://blog.csdn.net/seayqrain/article/details/5024068 使用SAXReader需要导入dom4j-full.jar包. dom4j是一个Ja ...

  3. nginx设置可以默认访问index.php

    vim /usr/local/nginx/conf/nginx.conf:      在 location /{                index index.php index.html i ...

  4. Linux权限管理(用户、组、文件管理)

    一. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 1. 文件查看类命令cat,tac, head, tail, more, less, ls ,file: -ls : l ...

  5. 简单的 centos7&rhel7 系统初始化脚本

    #!/bin/bash #描述: 基于RHEL7&centos7的初始化配置 #读取用户输入的ip read -p "输入你当前Linux的IP地址:" LAST #截取网 ...

  6. Unity ContextMenu特性

    有时候我们需要在编辑器下,频繁的做一些操作,比如说在不同的位置创建物体,一个个的修改坐标显然有点繁琐 这时候ContextMenu就派上用处了 例:利用 LineRenderer 画圆,我们不可能一个 ...

  7. 【Educational Codeforces Round 37 F】SUM and REPLACE

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 那个D函数它的下降速度是很快的. 也就是说到最后他会很快的变成2或者1 而D(2)==2,D(1)=1 也就是说,几次操作过后很多数 ...

  8. Canvas与Paint的0基础使用

    看了非常多android自己定义方面的资料,了解了非常多原理,遇到人家自己定义的东西也可以看得懂,可是.当自己去自己定义的时候.发现脑袋一片空白,所以就先从认识Canvas和Paint開始吧! Can ...

  9. .NET进阶——ORM基础认识

    ORM对象关系映射,对象即实体,关系即关系数据库表.ORM即实现从实体对象关系数据库数据的映射. 本质上就是将数据从一种形式转换到还有一种形式.它详细又有哪些表现呢.咱们一步步学习,一步步分析. OR ...

  10. 《读书报告 – Elasticsearch入门 》----Part II 深入搜索(2)

    第十三章 全文检索 这一章开始介绍 全文检索 :怎样对全文字段(full-text fields)进行检索以找到相关度最高的文档. 全文检索最重要的两个方面是: 相关度(Relevance) 根据文档 ...