资讯专栏INFORMATION COLUMN

《Javascript高级程序设计 (第三版)》第五章 引用类型

GeekGhc / 3359人阅读

摘要:类型没有重载声明了两个同名函数,而结果则是后面的函数覆盖了前面的函数。引用的是函数据以执行的环境对象函数属性和方法表示函数希望接收的命名参数的个数。而自动创建的基本包装类型的对象,则只存在于一行代码的执行瞬间,然后立即被销毁。

Function类型 没有重载

声明了两个同名函数,而结果则是后面的函数覆盖了前面的函数。

var addSomeNumber = function (num){
    return num + 100;
};
addSomeNumber = function (num) {
    return num + 200;
};
var result = addSomeNumber(100); //30
函数声明与函数表达式

函数声明:
析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问),进行声明提升到源代码树的顶部

alert(sum(10,10));
function sum(num1, num2){
    return num1 + num2;
}

函数表达式:
在执行到函数所在的语句之前,变量 sum 中不会保存有对函数的引用。

alert(sum(10,10)); // "unexpected identifier"
var sum = function(num1, num2){
    return num1 + num2;
}
作为值的函数

函数名本身就是变量,所以函数也可以作为值来使用。也就是说,不仅可以 像传递参数一样把一个函数传递给另一个函数,而且可以将一个函数作为另一个函数的结果返回

函数内部属性

arguments:
它是一个类数组对象,包含着传入函数中的所有参数

callee
该属性是一个指针,指向拥有这个 arguments 对象的函数。

function factorial(num){
    if (num <=1) {
        return 1;
    } else {
        return num * arguments.callee(num-1)
    }
}
无论引用函数时使用的是什么名字,都可以保证正常完递归调用。

this
this引用的是函数据以执行的环境对象

window.color = "red";
var o = { color: "blue" };
function sayColor(){
    alert(this.color);
}
sayColor(); //"red"
o.sayColor = sayColor;
o.sayColor(); //"blue"
函数属性和方法

length
表示函数希望接收的命名参数的个数。

function sayName(name){
    alert(name);
}
function sum(num1, num2){
    return num1 + num2;
}
function sayHi(){
    alert("hi");
}
alert(sayName.length); //1
alert(sum.length); //2
alert(sayHi.length); //0

prototype
保存它们所有实例方法的真正所在=

基本包装类型

每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而让我们 能够调用一些方法来操作这些数据。

var s1 = "some text";
var s2 = s1.substring(2);

不能手动添加属性
new 操作符创建的引用类型的实例,在执行流离开当前作用域之前都一直保存在内存中。而自动创建的基本包装类型的对象,则只存在于一行代码的执行瞬间,然后立即被销毁

var s1 = "some text";
s1.color = "red";
alert(s1.color); //undefined
单体内置对象 Global对象

URL编码方法
encodeURI():不会对本身属于 URI 的特殊字符进行编码,例如冒号、正斜杠、问号和井字号;
encodeURIComponent():它发现的任何非标准字符进行编码。

eval方法

Global 对象的属性

window 对象

Math对象

http://www.w3school.com.cn/js...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/89720.html

相关文章

  • javascript高级程序设计三版笔记一

    摘要:之间的项,但不包括结束位置。一个参数,返回从该参数指定位置到当前项末尾的所有项。传入的函数每一项都返回,才返回查询数组中的项是否满足条件。 第五章引用类型 5.1 Object类型 创建Object实例的方式有两种。第一种是使用new操作符 var person=new Object(); person=eve; person.age=29; 第二种是对象字面量 **推荐的写...

    张宪坤 评论0 收藏0
  • 《CSS揭秘》五章:字体排印

    摘要:字体排印连字符断行在杂志和书籍中,经常可以见到两端对齐效果。原因是会带来糟糕的显示问题。比如大多数衬线字体中的和。在第三版中,引入了属性华丽的符号通过规则实现只对符号应用特殊的字体。 字体排印 连字符断行 在杂志和书籍中,经常可以见到两端对齐效果。但是在网页设计中,两端对齐效果很少被使用。原因是会带来糟糕的显示问题。text-align: justufy; showImg(https:...

    lk20150415 评论0 收藏0
  • 如果想成为一名顶尖的前端,这份书单你一定要收藏!

    摘要:其中负载均衡那一节,基本上是参考的权威指南负载均衡的内容。开发指南读了一半,就是看这本书理解了的事件循环。哈哈创京东一本骗钱的书。 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯IVWEB团队 发表于云+社区专栏作者:link 2014年一月以来,自己接触web前端开发已经两年多了,记录一下自己前端学习路上看过的,以及道听途说的一些书,基本上按照由浅入深来介绍...

    callmewhy 评论0 收藏0
  • 如果想成为一名顶尖的前端,这份书单你一定要收藏!

    摘要:其中负载均衡那一节,基本上是参考的权威指南负载均衡的内容。开发指南读了一半,就是看这本书理解了的事件循环。哈哈创京东一本骗钱的书。 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯IVWEB团队 发表于云+社区专栏作者:link 2014年一月以来,自己接触web前端开发已经两年多了,记录一下自己前端学习路上看过的,以及道听途说的一些书,基本上按照由浅入深来介绍...

    Scliang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<