`
supportopensource
  • 浏览: 515527 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

javascript学习笔记:函数1

阅读更多
一、函数定义与调用
1.定义:
function sum(a, b){
    var res = a + b;
    return res;
}
note:函数通常有返回值,如果某个函数没有显式的返回值,其默认的返回值为undefined。
一个函数只能有一个返回值,如果需要同时返回多个值,先将多个值放进一个数组里,以数组元素的形式返回。

2.调用:
var result = sum(1, 2);
console.log(result);//3

3.关于参数:
a.调用时传入的参数值少于定义函数的参数,JS引擎自动将没有传入参数值的参数设置为undefined。
console.log(sum());//NaN
console.log(sum(1));//NaN

b.调用时传入的参数值多于定义函数的参数,多余的参数会被忽略。
console.log(sum(1, 2, 3, 4, 5));//3

可变参数的函数:
每个函数内部都有一个内建的arguments数组,它能返回所接收的所有参数。
console.clear();
function args(){
    return arguments;
}
console.log(args());//[]
console.log(args(1,2,3));//[1, 2, 3]

通过arguments数组,完善sum()函数的功能,使之能够对任意数量的参数执行求和:
console.clear();
function sum(){
    var i;
    var res = 0;
    var num = arguments.length;
    for(i=0; i<num; i++){
        res += arguments[i];
    }
    return res;
}
console.log(sum());//0
console.log(sum(1));//1
console.log(sum(1, 2));//3
console.log(sum(1, 2, 3, 4, 5));//15



二、预定义函数

1.parseInt()
试图将其收到的任何输入值(通常是字符串)转换成整数类型输出。如果转换失败就返回NaN。
console.clear();
console.log(parseInt("123"));//123
console.log(parseInt("abc123"));//NaN
console.log(parseInt("1abc23"));//1
console.log(parseInt("123abc"));//123

除此之外,该函数还个可选的第二个参数:radix,它负责设定函数所期望的数字类型——十进制、十六进制、二进制等。
console.clear();
console.log(parseInt("FF", 10));//NaN
console.log(parseInt("FF", 16));//255
console.log(parseInt("0377", 10));//377
console.log(parseInt("0377", 8));//255

如果在调用parseInt()时没有指定第2个参数,函数就会将其默认为10进制,但是有2种情况例外:
a.如果首参数字符串是0x开头,第2个参数就会被默认为16进制。
b.如果首参数字符串是0开头,第2个参数就会被默认为8进制(未定)。
console.clear();
console.log(parseInt("377"));//377
console.log(parseInt("0x377"));//887
console.log(parseInt("0377"));//377

当然,明确指定radix值总是最安全的。如果省略了它,尽管99%的代码依然能够正常运行(因为最常用的是10进制数),但偶尔还是会在调试时发现一些小问题。例如,当从日历中读取日期时,对于08这样的数据,如果不设定radix参数可能就会导致意想不到的结果。

2.parseFloat()
该函数的功能与parseInt()基本相同,只不过它只支持将输入值转换为10进制。因此,该函数只有一个参数。该函数还可以接受指数形式的数据。
console.clear();
console.log(parseFloat("123"));//123
console.log(parseFloat("1.23"));//1.23
console.log(parseFloat("1.23abc.00"));//1.23
console.log(parseFloat("a.bc1.23"));//NaN
console.log(parseFloat("a123.345"));//NaN
console.log(parseFloat("12a3.343"));//12
console.log(parseFloat("123e-2"));//1.23
console.log(parseFloat("123e2"));//12300
console.log(parseFloat("1e10"));//10000000000

3.isNaN()
该函数可以确定某个输入值是否是一个可以参与算术运算的数字。该函数也可以用来检测parseInt()和parseFloat()的调用成功与否。
console.clear();
console.log(isNaN(NaN));//true
console.log(isNaN(123));//false
console.log(isNaN(1.23));//false
console.log(isNaN(parseInt('abc123')));//true
console.log(isNaN('1.23'));//false
console.log(isNaN('a1.23'));//true

4.isFinite()
该函数可以用来检查输入是否是一个既非infinity也非NaN的数字。
console.clear();
console.log(isFinite(Infinity));//false
console.log(isFinite(-Infinity));//false
console.log(isFinite(12));//true
console.log(isFinite(1e308));//true
console.log(isFinite(1e309));//false

5.encodeURI()

6.decodeURI()

7.encodeURIComponent()

8.decodeURIComponent()

9.eval()
分享到:
评论

相关推荐

    JavaScript学习笔记_js常用函数封装_js包.zip

    JavaScript学习笔记_js常用函数封装_js包 gulp scss 模块化开发 github常用命令

    前端学习(四)——javascript学习笔记(二)函数

    前端学习——javascript学习笔记(二)函数

    Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式

    函数声明 function foo() {} 函数 foo 将会在整个程序执行前被 hoist (提升),因此它在定义 foo 函数的整个 scope (作用域)中都是可用的。即使在函数定义之前调用它也没问题。 foo(); // Works because foo was ...

    javascript学习笔记.docx

    1 JavaScript基本语法 1) 读未声明的变量会产生错误。写未声明的变量会是JavaScript环境自动产生一个全局变量。 2) 对于完全等同“===”,两个null或者两个undefined是等同的;但null与undefined是不等同的。 3) ...

    Javascript学习笔记之函数篇(五) : 构造函数

    Javascript 中的构造函数与其他语言相比也是不同的。任何通过关键字 new 调用的函数都可以当做构造函数。 在构造函数体内,this 指向新创建的对象。如果构造函数体内没有显示的 return 表达式,那么我们就默认返回 ...

    javascript学习笔记发放2

    javascript学习笔记发放2。这章我们 继续.然后了解下js中操作数据 和 函数的 作用域。

    JavaScript学习笔记讲解

    第 1 章 JAVASCRIPT的语法 1 1.1 什么是脚本程序和JAVASCRIPT 1 1.1.1 什么是脚本程序 1 1.1.2 Javascrpit的简介 1 1.2 脚本代码的位置 2 1.2.1 也可将javascript放入到单独的一个文件js文件,在需要使用的时候引入:...

    JavaScript学习笔记之函数记忆

    主要介绍了JavaScript学习笔记之函数记忆,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    javascript学习笔记之函数定义

     * 分号是用来分隔可执行JavaScript语句,由于函数声明不是一个可执行语句,所以不以分号结束。 函数表达式 var x = function( 参数 ){  ...执行的代码块 }; 函数表达式定义的函数,实际上也是一个匿名函数(这...

    JavaScript学习笔记(三):JavaScript也有入口Main函数

    在C和Java中,都有一个程序的入口函数或方法,即main函数或main方法。而在JavaScript中,程序是从JS源文件的头部开始运行的。但是某种意义上,我们仍然可以虚构出一个main函数来作为程序的起点,这样一来不仅可以跟...

    JavaScript-学习笔记.docx

    自己学习笔记。视频:腾讯课堂:渡一教育 内容大纲: 预编译: 函数 闭包问题 对象 原型、原型链、call、apply 继承模式 对象克隆 数组 类数组 数组去重 自定义type方法(类似于typeof) try-catch es5.0严格模式 ...

    JavaScript 笔记

    JavaScript 学习笔记 包括常的函数收藏,希望对你有用

    Javascript学习笔记2 函数

    在Javascript中,function才是Javascript的第一型。当我们写下一段函数时,其实不过是建立了一个function类型的实体。

    Javascript学习笔记之函数篇(五) : &#65279;构造函数

    javascript本身是没有类的概念,只有函数的...javascript的类实际上也是一个javascript的函数,在这个特殊的函数中间可以包含变量和其他javascript函数的引用。那么这个特殊的函数本身就是javascript所谓类的构造函数。

    Javascript学习笔记之函数篇(四):arguments 对象

    JavaScript中arguments函数对象是该对象代表正在执行的函数和调用它的函数的参数。JavaScript 函数中 arguments 为特殊对象,无需明确指出参数名,就能访问它们。

    JavaScript学习笔记之惰性函数示例详解

    函数是js世界的一等公民,js的动态性、易变性在函数的应用上,体现的淋漓尽致。下面这篇文章主要给大家介绍了关于JavaScript学习笔记之惰性函数的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。

Global site tag (gtag.js) - Google Analytics