2021-05-17

Java script 字面量与变量

一、

  1. 字面量:不可改变的值,可直接使用但一般不会直接使用
  2. 变量:可保存字面量、值可任意改变,通过关键字var声明

3、标识符:JS中所有的可以由我们自主命名的, 例如:变量名 函数名 属性名都属于标识符

 命名一个标识符是需要遵守如下规则:

       1.标识符中可以含有字母、数字、_(下划线)、$

       2.标识符不能以数字开头

       3.标识符不能使用ES中的关键字与保留字

       4.标识符一般都采用驼峰写法{不建议用中文}

 

二、JavaScript 6种数据(字面量)类型:

其中基本数据类型 :

String 字符串

              Number 数值

              Boolean 布尔值 true/false

              Null 空值

              Undifined 未定义

引用数据类型:

              Object 对象

 

String 字符串:

在JS中字符串需要使用引号引起来

         使用单引号或双引号都可以,但是最好不要混用

         注意引号的嵌套问题。

 

\转义字符:

当表示一些特殊符号的使用时可用\进行转义  例如 \n 表示换行、 \n 表示换行。

 

 Number 数值类型 :

JS中所有数值(包括整数和浮点(小数)数)都是Number类型

若表示的数字超过了最大值则会返回  Infinity  表示正无穷大

              -Infinity 表示负无穷大

使用typeof(用于检查变量类型)检查Infinity也会返回Number

 

Boolean 布尔类型:

主要用来做逻辑判断

 true 表示真

- false 表示假

 

Null 空值:

值只有一个null,这个值专门用来表示一个空对象

使用typeof检查一个null值时,返回一个object

 

Undefined未定义:

值只有一个undefined

声明一个变量但是未给变量赋值时,它的值就是undefined

 

三、强制类型转换(类型转换主要指,将其他的数据类型转换为 String Number Boolean)

①将其他的数据类型转换为String类型

方法一:

              - 调用被转换数据类型的toString()方法

              - 该方法不会影响原变量,它会将转换的结果返回

              - 注意:null和undefined这两个值没有toString()方法,如果调用该方法程序会报错

方法二:

调用string()函数,并将被转换的数据作为参数传递给函数

使用string()函数做强制类型转换时,对于number Boolean实际上是调用的to String()方法

它会将null直接转换为“null”(字符串)

它会将under find直接转换为“under fined”(字符串)

3.2 将其他类型转换为Number

使用Number()函数

  • 字符串——数字
  1. 如果是纯数字的字符串,则可以直接转换为数字
  2. 如果字符串中有非数字的内容,则转换为NaN
  3. 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
  • 布尔值——数字

  True转换为1    false转换为0

  • null——数字0
  • Undefined——数字Nan

第二种方法:

  1. 这种方法专门对付字符串类型
  2. Parse int()把一个字符串转换为一个整数
  3. Parse float()把一个字符串转换为一个浮点数

3.3将其他类型转换为Boolean

使用Boolean()函数

  • 数字——布尔   除了0和Nan是false,其余的全部都是true
  • 字符串——布尔值  除了空串是false,其余的全部都是true
  • Null和undefined都会转换为false
  • 对象也还会转换为true

- 对象也会转换为true

 

  • Java script运算符 (通过运算符可以对一个或则多个值进行运算,并获取运算结果)

 

运算符也叫操作符

算数运算符

+ 加

可以对两个值进行假发运算,如果是两个字符串则进行字符串拼接

任何值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼接操作

也可以通过“+”完成隐式转换。

-减

可以对两个值进行减法运算,并返回运算结果

同级运算,从左到右

*乘

可以对两个值进行乘法运算,并返回运算结果

/除

可以对两个值进行除法运算,并返回运算结果

  • 任何值做 - * / 运算时自动转换为number
  • 可以利用这一特性完成隐式转换

%取模

取模运算(取余数)

++ 自增

--自减

六.Java script逻辑运算符

三种逻辑运算符

  1. !非

!可以用来对一个值进行非运算

非运算就是对一个布尔值进行取反操作

False变为true,true变为false

如果对一个值(布尔值)进行2次非运算,它的值不变

如果对非布尔值进行运算,则先将它转换为布尔值,再取反操作。利用这一特点,可以将一个值转换为布尔类型;两次非运算

  1. &&与

&&可以对符号进行两则的值进行运算并返回结果

运算规则:两个值只要有一个false,则返回false

两个值都是true的情况下,返回true

JS中“与”只要第一个为false,则返回false

  1. ||或

  ||可以对符号两则的值进行或运算并返回结果

运算规则:两个值主要有一个true,则返回true

          两个值都是false的情况下,返回false

 

JS中“或”,只要第一个为true,则返回true。不会再去检查第二个值

七.Java script赋值运算

=赋值符

   可以将符号右侧的值赋值给左侧的变量

   +=

          num+=2 =>等价于 num=num+2;

   -=

          num-=2 =>等价于 num=num-2;

   *=

          num*=2 =>等价于 num=num*2;

   /=

          num/=2 =>等价于 num=num/2;

   %=

          num%=2 =>等价于 num=num%2;

  1. 关系运算符:

> 大于

   >= 大于等于

   < 小于

   <=小于等于

   运算的结果为布尔值

  1. 相等运算符:

== 表示相等的意思

   != 表示不等的意思

   === 全等(数据类型与值都相等)

   !== 不全等

   运算的结果为布尔值

  1. 条件运算符(三元运算符):

语法:条件表达式?语句1:语句2;

     执行的流程:

     条件运算符在执行时,首先对表达式进行求值

     如果该值为true,则执行语句1,并返回执行结果

     如果该值为false,则执行语句2,并返回执行结果

 

  • 运算符的优先级(跟数学的一样先乘除 再加减 有括号先算括号里面的)

算术操作符   → (关系运算符)比较操作符 → 逻辑操作符 → "="赋值符号

 (+,-,*,/,++,--,%)     (<,>,==,===,<=,>=,!=)     (&&,||,!)     (=,+=,-=,..)

 

  • 流程

程序中的三种基本流程结构:

       1.    顺序结构

       2.    分支结构

       3.    循环结构

       顺序结构:按照顺序一条一条的执行代码,从上到下。

   分支结构:执行代码的时候,可以根据条件进行选择,条件越多对应的结果越多,分支也就越多。例如if…else…语句,switch语句

       循环语句:用来重复不断的做一件事,for循环,while循环,do…while循环

 

  • 对象

看到的值基本数据类型(String 字符、Number 数值、Boolean 布尔、Null 空值、Undefined 未定义)外都为Object 对象。如果我们使用基本数据类型,可以将一个人的信息保存下来,但是他们是独立的没有联系的数据。

 

对象属于一种复合的数据类型,在对象中可以存储多个不同数据类型的属性

              对象的分类:

                     1.内建对象

                            - 由ES标准中定义的对象,在任何ES的实现中都可以使用

                              例如:Math String Number Boolean Function Object...

                     2.宿主对象

                            - 由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象

                            - 比如:BOM(浏览器对象模型)  DOM(文档对象模型)

                              例如 我们常用的console.log() 就是DOM 中的对象

                     3.自定义对象

                            - 由咱们开发人员自己定义的对象

创建对象:用new调用的函数时构造函数constructor

var obj=new Object();

 构造函数是专门用来创建对象的函数

 

在对象中保存的值称为属性:

向对象添加属性的语法: ①对象.属性名=属性值 ② 对象["属性名"]=属性值

读取对象属性的语法: ①对象.属性名 ②对象["属性名"]

- 注意:如果对象中没有的属性,不会报错而是返回undefined

*对象的属性值可以是任意的数据类型

 

 

属性名:

对象的属性名不强制要求遵守标识符规则,什么名称都可以,但是不允许这里使用,我们自己定义的使用都必须遵守标识符规则

 

in运算符:

通过该运算符检查一个对象中是否含有指定的属性。如果含有则返回true,如果没有则返回false       .

语法 :"属性名" in 对象

 

  • 基本数据类型与引用数据类型

基本数据类型:String Number Boolean Null Undefined 引用数据类型:Object

 

JS中的变量都是保存在栈内存中的

              基本数据类型的值直接在栈内存中存储

              值与值之间是独立存在的,修改一个变量不会影响到其他的变量

 

对象是保存在堆内存中的,每创建一个新的对象,就会在堆内存中开辟新的空间。而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用,当其中一个通过变量修改属性时,另外一个也会受到影响。

  • 对象字面量

1.创建一个对象

       var obj=new Object();

2.使用对象字面量来创建一个对象

       var obj={};

 

 使用对象字面量,可以在创建对象时,直接指定对象中的属性

       语法:{属性名1:属性值1,属性名2:属性值2,...}

       对象字面量的属性名可以加引号,也可以不加,建议不加

       如果要使用一些特殊的属性名,则必须加上引号(不允许使用"123"这种)

      

       属性名与属性值是一组键值对结构,

       键与值之间用":"冒号连接,对个键值对之间使用","逗号隔开

       如果一个属性之后没有其他的属性了,就不要写","逗号

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值