二、JavaScript(1)

1.javascript变量

变量是用于存储信息的"容器"。

就像代数那样

x=5
y=6
z=x+y

在代数中,我们使用字母(比如 x)来保存值(比如 5)。

通过上面的表达式 z=x+y,我们能够计算出 z 的值为 11。

在 JavaScript 中,这些字母被称为变量。

变量是用于存储信息的"容器"。

就像代数那样

x=5
y=6
z=x+y

在代数中,我们使用字母(比如 x)来保存值(比如 5)。

通过上面的表达式 z=x+y,我们能够计算出 z 的值为 11。

在 JavaScript 中,这些字母被称为变量。

一条语句,多个变量

我们也可以在一条语句中声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可。

var lastname="Doe", age=30, job="carpenter";

声明也可横跨多行:

var lastname="Doe",
age=30,
job="carpenter";

一条语句中声明的多个变量不可以同时赋同一个值:

var x,y,z=1;

运行结果:x,y 为 undefined, z 为 1。

在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是 undefined。

如果重新声明 JavaScript 变量,该变量的值不会丢失.

关于变量名称的命名

通常我们在创建或者是声明一个变量的时候,都会为这个变量指定一个名称,以方便之后使用。变量可以使用短名称(比如 x 和 y),也可以使用描述性更好的名称(比如 age, sum, totalvolume)。

1.变量必须以字母开头

2.变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)

3.变量名称对大小写敏感(y 和 Y 是不同的变量)

2.JavaScript 数据类型

数据类型实际上是用来决定所定义的变量将来所能进行那些操作。

JavaScript中的数据类型有2大类:值类型(基本类型)引用数据类型

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。

引用数据类型:对象(Object)、数组(Array)、函数(Function)。

Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型。

2.1 JavaScript 字符串

字符串是存储字符(比如 "hello")的变量。

字符串可以是引号中的任意文本。

您可以使用单引号或双引号。

var carname="Volvo XC60";
var carname='Volvo XC60';

您可以在字符串中使用引号,只要不匹配包围字符串的引号即可。

var answer="It's alright";
var answer="He is called 'Johnny'";
var answer='He is called "Johnny"';

2.2JavaScript 数字

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带。

var x1=34.00;      //使用小数点来写
var x2=34;         //不使用小数点来写

极大或极小的数字可以通过科学(指数)计数法来书写。

var y=123e5;      // 12300000
var z=123e-5;     // 0.00123

2.3 JavaScript 布尔

布尔(逻辑)只能有两个值:true 或 false。布尔常用在条件判断中。

1.创建Boolean

1.1  var bool1 = true;  // typeof bool  === boolean

1.2  var bool2 = new Boolean(true) 

       //typeof bool2 == object

2 转换

boolean ==> object

var boolobj =  new Boolean(bool1) 

object ==> boolean

bool3 = boolobj.valueOf()

//typeof bool3 == boolean;

常见的隐式转换

只有六种情况Boolean(被转换的数据)的结果是false,其余全是true

0 数字0  ‘0’

NaN 数字NaN

"" 空字符串 “空格”

false 布尔值false

undefined undefined类型

null null类型

2.4null(空)

  • 在 JavaScript 中 null 表示 "什么都没有"。
  • null是一个只有一个值的特殊类型。表示一个空对象引用。
  • 用 typeof 检测 null 返回是object。
  • 你可以设置为 null 来清空对象。

2.5 undefined未定义

在 JavaScript 中, undefined 是一个没有设置值的变量。

typeof 一个没有值的变量会返回 undefined。

任何变量都可以通过设置值为 undefined 来清空。 类型为 undefined.

2.6null 与 undefined 的异同点是什么呢?

共同点:都是原始类型,保存在栈中变量本地。

不同点:

        1. undefined——表示变量声明过但并未赋过值。它是所有未赋值变量默认值。

例如:var a;    // a 自动被赋值为 undefined

        2. null——表示一个变量将来可能指向一个对象。一般用于主动释放指向对象的引用

例如:var emps = ['ss','nn'];

emps = null;     // 释放指向数组的引用

3.JavaScript 对象

对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔。空格和折行无关紧要。声明可横跨多行。

var student = {
    sid : '1001',
    name : '小明',
    sex : "男",
    age : 16
  }

4.JavaScript 数组

  • 数组 可以存储很多项,有顺序,很多项形成的一个集合体,这个集合就是 数组 Array。

  • 数组的字面量[ ]。

  • 获取数据的方法 通过索引/下标。

                -  数组中的第一项索引是从0开始的。

                - 数组中的索引都是整数。

  • 数组中的存储类型可以不一致,但是不推荐。

  • 数组的长度;数组中元素的个数。

    - 获取数组的长度 变量名.length。

    - 修改数组的内容 变量[索引] = ‘’。

    - 给数组添加一项 变量[索引] = ‘’。

    - 如果是跳跃式的添加那么默认值就是undefined。

4.1 如何创建数组?

1). new Array()

var  arr1=new Array(); //空数组

var  arr01=new Array(3); //创建指定初始存储空间的空数组

2). 通过“[]”表示数组

var  arr2=[]; //空数组

4.2数组如何保存数据值?

1).通过下标逐个赋值

下标表示数据在数组中的位置,从0开始

var  arr11=new Array(); //空数组

arr11[0]=1001;

arr11[1]="zhangsan";

arr11[2]=23;

 var  arr22=[];

arr22[0]=1004;

arr22[1]="zhaoliu";

arr22[2]=26;

2).创建时直接赋值 

var  arr12=new Array(1002,"lisi",24);

var  arr13=[1003,"wangwu",25];

从数组中取出对应位置【下标】的数据

 arr[ '下标' ]

5.JavaScript 函数

    ● 什么是JavaScript 函数

        某个功能具体执行代码的集合--函数

  • 函数也是一种数据类型 function也是一种数据类型。

    - 可以通过 typeof 变量名

  • 函数可以封装特定功能的代码,然后通过函数名重复使用。

  • 函数的定义,函数体称为形参,调用函数时的参数称为实参。

function 函数名(参数1,参数2,...){
​
  ----函数体----
​
 }
  • 函数不能自己运行,需要调用函数。

  • 函数的返回数据需要变量进行接收,可以直接使用。

  • 当函数中不写return的时候,return后面可以什么都不跟,返回的是 undefined, 只为结束这个函数。

  • arguments 可以再函数内部获取调用时函数传入的实参。获取的数据不是 数组。

  • 当需要传入的参数个数不确定时可以通过argumets直接获取,然后通过数 组的形式进行操作。

函数分类 1.命名函数

function fn(){

}

2.函数表达式;匿名函数赋值

var fn  = function (){

 }

3.自调用函数 - 当函数书写完成之后自动调用。

(function( ){ 

})()

4.new Function(' ');

var fn = new Function('var name = "zhang";console.log(name)');
var fn = new Function('参数','参数','var name = "zhang";console.log(name)');

6.javascript对象

* 什么是对象?

描述一类具体事物的引用数据类型 -- 对象

* 为什么需要对象类型?

因为javascript中的数据类型,在使用的时候可能不够用,我们需要自己定义创建一种新的类型。

程序中的对象是对现实生活中的对象。

* js中的对象是无序属性的集合。

* 具有属性和方法。

* 函数和对象的区别

  • 函数: 可以封装一段代码。

  • 对象: 封装一组属性和方法。

* 访问对象属性 对象.属性名。方法名[‘属性名’]。

* 访问对象方法 对象.方法。

* 对象的创建方法:

  • Var 对象名 = {

}

  • var 对象名 = new Object();创建一个空对象

                new Object 调用构造函数。

                可以动态增加属性和方法。

                当前方法中使用属性,需要this.指向当前对象。

7.JavaScript 作用域

7.1全局作用域

全局作用域:在script或者独立的js文件中,在全局作用域中全局变量。在任何位置都可以访问。在浏览器关闭时才会被销毁。

var num  = '';//需要在最外面。(1)

num = '';  //可以在任何位置。​(2)

7.2局部作用域

在任何一个函数的内部都有一个局部作用域, 在局部作用域中定义的变量称为局部变量,局部变量只有在 定义该变量的函数中可以访问。在函数结束时销毁。

块级作用域 : 在js没有块级作用域 可以再外部访问括号内的变量。

8.JavaScript 运算符

  • JavaScript 算术运算符 [+  -  *  /  %  ++  --]

+ 运算符用于把文本值或字符串变量加起来(连接起来)。

如需把两个或多个字符串变量连接起来,请使用 + 运算符。

两个数字相加,返回数字相加的和,如果数字与字符串相加,返回字符串.

  • JavaScript比较运算符 [>  <  >=  <=  ==  ===  !=]

比较运算符在逻辑语句中使用,以测定变量或值是否相等。

可以在条件语句中使用比较运算符对值进行比较,然后根据结果来采取行动.后面内容中介绍。

  • JavaScrip逻辑运算符 [||  &&  !]

逻辑运算符用于测定变量或值之间的逻辑。

  • JavaScrip条件运算符 

JavaScript 还包含了基于某些条件对变量进行赋值的条件运算符。

格式:  var  res=(condition)?value1:value2;

例如:如果变量 age 中的值小于 18,则向变量 voteable 赋值 "年龄太小",否则赋值 "年龄已达到"。

  • JavaScrip typeof 操作符

无奈源于不够强大

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值