JS变量

JS变量包含的两种不同数据类型的值:

  1. 基本类型值:简单的数据段。

5种基本数据类型:Undefined、Null、Boolean、Number、String。
按值访问,可以操作保存在变量中的实际值。

  1. 引用类型值:可能有多个值构成的的对象

引用类型值是保存在内存中的对象。JS不允许直接访问内存中位置
按引用访问,操作的是对象的引用而不是实际的对象

差异:

  1. 动态属性:
  • 基本类型值:不能添加属性
  • 引用类型值:可以给添加属性的方法,也可以改变和删除其属相和方法。
  1. 复制变量值(一个变量向另一个变量复制):
  • 基本类型值:【前后完全独立】会在对象变量上创建一个新值,把该值复制到新变量分配的位置上。
  • 引用类型值:【改变一个影响另一个】存储在变量中的值复制到新变量分配的空间中。这个值是一个指针,指针指向存储在堆中的一个的对象。
    即两个变量引用同一个对象。

相同:
定义基本类型值/引用类型值的方式:创建一个变量并为该变量赋值

对象

  • Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类)
  • 对象是JavaScript的基本数据类型。
  • 对象是一种复合值:它将很多值(原始值或者其他对象)聚合在一起,可通过名字访问这些值。对象也可看做是属性的无序集合,每个属性都是一个名/值对。属性名是字符串,因此我们可以把对象看成是从字符串到值的映射。这种基本数据结构还有很多种叫法,有些我们已然非常熟悉,比如“散列”(hash)、“散列表”(hashtable)、“字 典”(dictionary)、“关联数组”(associativearray)。然而对象不仅仅是字符串到值的映射,除了可以保持自有的属性,javascript对象还可以从一个称为原型的对象继承属性。

1.创建对象
(a)对象直接量
创建对象最简单的方式就是在javascript代码中使用对象直接量。对象直接量是由若干名/值对组成的映射表,名/值对中间用冒号分隔,名/值对之间用逗号分隔,整个映射表用花括号括起来。
原型对象根据原型对象生成的实例对象

(b)通过new创建对象
new运算符创建并初始化一个新对象。关键字new后跟随一个函数调用。这里的函数称做构造函数(constructor),构造函数用以初始化一个新创建的对象。
(构造函数的命名第一个字母大写)

函数是完成某个特定功能的一组语句。如没有函数,完成任务可能需要五行、十行、甚至更多的代码。这时我们就可以把完成特定功能的代码块放到一个函数里,直接调用这个函数,就省重复输入大量代码的麻烦。
如果函数挂载在一个对象上,作为对象的一个属性,就称它为对象的方法。

  1. function定义函数的关键字。
  2. "函数名"你为函数取的名字。
  3. "函数代码"替换为完成特定功能的代码。

函数由函数名,参数,函数体构成,返回靠return,没return就返回undefined

函数定义
关于JS的常用函数定义方式有以下两种:
(1)函数声明
Function a(b,c){
//函数体
}
(2)以函数表达式的形式定义函数(假如表达式要包含名称,那这个名称就会成为函数内部的一个局部变量)
var a=function fact©{
//函数体
//fact©=fact(c-1)+fact(c-2);
}
var func=function nef(){
nef(n)=nef(n-1)+nef(n-2)
};
console.log(func);
console.log(nef);
虽然上面两种方式逻辑上是等价的,但是还是有点小区别:
函数声明中的函数会在代码执行以前被加载到作用域中,而函数调用则是在代码执行到那一行的时候才会有定义:
函数声明会被前置(函数声明和变量声明会被提前,而那些赋值语句和表达式语句执行到这一行时才会被执行)

函数定义好后,是不能自动执行的,需要调用它,直接在需要的位置写函数名。
第一种情况:在

第二种情况:在HTML文件中调用,如通过点击按钮后调用定义好的函数。

//按钮,onclick点击事件,直接写函数名 上面中add2()函数不能实现任意指定两数相加。其实,定义函数还可以如下格式: function 函数名(参数1,参数2) { 函数代码 } 注意:参数可以多个,根据需要增减参数个数。参数之间用(逗号,)隔开。 按照这个格式,函数实现任意两个数的和应该写成: function add2(x,y) { sum = x + y; document.write(sum); } x和y则是函数的两个参数,调用函数的时候,我们可通过这两个参数把两个实际的加数传递给函数了。 上面函数中,通过"document.write"把结果输出来,如果想对函数的结果进行处理怎么办呢? 我们只要把"document.write(sum)"这行改成如下代码: function add2(x,y) { sum = x + y; return sum; //返回函数值,return后面的值叫做返回值。 } 还可以通过变量存储调用函数的返回值,代码如下: result = add2(3,4);//语句执行后,result变量中的值为7。 注意:函数中参数和返回值不只是数字,还可以是字符串等其它类型。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值