(1)函数的四种形式小结:

无参无返回值
function tellstory(){
    console.log("从前有座山");
    console.log("山上有座庙");
}
console.log(tellstory());        // 从前有座山 山上有座庙 undefined 无参有返回值
function sayHello(){
    return  "Hello";
}
console.log(sayHello());         //结果:Hello 有参无返回值
function sayHello(name){
   console.log("你好"+name);
}
console.log(sayHello("张三"));     //结果:你好张三  undefined
有参有返回值
function getMax(a,b){
    if(a>b){
        return a;
    }else{
        return b;
    }
}
console.log(getMax(4,6));    //结果:6

由此来小结一下函数里的return返回值:

1. 如果函数没有使用 return语句 ,那么函数也是有默认的返回值:undefined ,比如第一种情况tellStory(),以及第三种情况有参无返回值。

2. 如果函数使用 return语句,那么跟在return后面的值,就成了函数的返回值,第2,4两种情况。

3. 如果函数使用 return语句,但是return后面没有任何值,那么函数的返回值也是:undefined

4. 函数使用return语句后,这个函数会在执行完 return 语句之后停止并立即退出,也就是说return后面的所有其他代码都不会再执行。

(2) 所谓的重载就是函数名相同,但是函数的形参个数不同,或者形参的数据类型不同,这样就构成了函数的重载。Js中没有函数的重载。

<script>

function getSum(a,b){

return a+b;

}

function getSum(a,b,c){

return a+b+c;

}

console.log(getSum(2,3,4)); //9

console.log(getSum(2,3))    //因为c没有定义,所以结果是NaN

</script>

(3)函数变量的作用域

在JS是没有块级作用域的。块级作用域,就是一个{}之间包裹的区间。

全局作用域:

全局作用域内的变量是可以在任何地方都能访问到的

1.全局作用域内的变量就是全局变量,在全局作用域内定义的变量是全局变量,可以在页面的任何地方访问的到(包括函数内部)。

2.在函数内部不使用var定义的变量,也是全局变量。

局部作用域:一个函数就是一个局部作用域,局部作用域 内的变量称为局部变量。

(4)内置对象:

Array的内置对象:

<script>

//    toString(),valueOf() ,join(),concat()

//       var arr1=["abc",123,567];

//        var arr2=["cde",345,678,890];

//       console.log(arr1.toString());   //转化为字符串,数组中的各项用逗号隔开,内部调用join

//       console.log(arr1.valueOf());     //打印对象本身

//       console.log(arr1.join("|"));     //将字符串数组变成字符串输出,可以在数组添加一些新的字符

//       console.log(arr1.concat(arr2)); //连接另一个数组,生成一个新数组。

//    slice()        从当前数组中截取一个新的数组,不影响原来的数组,

var arr=["123","234","345","456","567","abc","bcd","cde"];

console.log(arr.slice(3));  //提取从数组下标3开始向后的数组数据

//                 参数start从0开始,end从1开始

console.log(arr.slice(2,4));  //提取数组下标3到数组下标4之间的数组数据

//    splice()     删除或替换当前数组的某些项目,参数

console.log(arr.splice(2,1));  //删除数组下标为2的数组数据“345”

//                 start,deleteCount,options(要替换的项目),

//                 开始位置(下标)删除元素的个数 要替换的元素

console.log(arr.splice(2,4)); //删除从数组下标2开始往后4个的数组数据。

</script>

<script>

var arr=[1,2,3,4,5,2,6,7];

//    var num=arr.push("zxc",123,43,54);

//    console.log(num);

//    console.log(arr);

//向数组中添加元素

// var arr2=arr.pop(); //删除数组的最后一项,返回删除的数据

//console.log(arr2);

//console.log(arr);

//    var arr3=arr.shift();//删除数组中的第一项,返回删除了的数据

//    console.log(arr3);

//    console.log(arr);

//    var arr4=arr.unshift("abc","mmm","999");//从数组前面添加数据,返回添加后数组的长度

//    console.log(arr4);

//    console.log(arr);

console.log(arr.indexOf(2));//从前往后检索,检索到2的值返回数组下标

console.log(arr.lastIndexOf(2));//从后往前检索,检索到2的值返回数组下标

</script>

Math常见的内置对象:

<script>

var a=Math.pow(2,10);

console.log(a);            //1024

console.log(Math.pow(2,5));       //32      求幂

console.log(Math.round(5.12));   //5          四舍五入

console.log(Math.ceil(5.39));   //6            天花板函数向上取整

console.log(Math.floor(5.39));   //5           地板函数向下取整

console.log(Math.abs(3));   //3               求绝对值

console.log(Math.abs(-3)); //3

console.log(Math.max(12,11,34));  //34         求最大值

console.log(Math.min(44,23,12,56));  //12        求最小值

console.log(Math.random());    //生成一个[0,1)的随机数

console.log(Math.PI);      //math之中的一个属性

</script>

日期对象:

<script>

//getTime()  返回毫秒数和valueOf()结果一样

//getMilliseconds()

//getSeconds()  返回0-59

//getMinutes()  返回0-59

//getHours()   返回0-23

//getDay()     返回星期几 0周日   6周6  0--6

//getDate()    返回当前月的第几天,当月的几号

//getMonth()   返回月份,从0开始

//getFullYear()   返回4位的年份  如 2016

//    var date=new Date();

//    console.log(date);

//    console.log(date.toString());      //返回字符串

//    console.log(date.valueOf());     //可返回 Boolean 对象的原始值。

//    console.log(date.toDateString()); //把 Date 对象的日期部分转换为字符串,并返回结果。

//    console.log(date.toLocaleDateString());  //可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。

//    console.log(date.toTimeString());   //可把 Date 对象的时间部分转换为字符串,并返回结果

</script>

js第四天学习小结:的更多相关文章

  1. ExtJs学习笔记之学习小结LoginDemo

    ExtJs学习小结LoginDemo 1.示例:(登录界面) <!DOCTYPE html> <html> <head> <meta charset=&quo ...

  2. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  3. pthread多线程编程的学习小结

    pthread多线程编程的学习小结  pthread 同步3种方法: 1 mutex 2 条件变量 3 读写锁:支持多个线程同时读,或者一个线程写     程序员必上的开发者服务平台 —— DevSt ...

  4. 《JS高程》事件学习笔记

    事件:文档或浏览器窗口中发生的一些特定的交互瞬间,也即用户或浏览器自身执行的某种动作. -------------------------------------------------------- ...

  5. (转) Parameter estimation for text analysis 暨LDA学习小结

    Reading Note : Parameter estimation for text analysis 暨LDA学习小结 原文:http://www.xperseverance.net/blogs ...

  6. dubbo学习小结

    dubbo学习小结 参考: https://blog.csdn.net/paul_wei2008/article/details/19355681 https://blog.csdn.net/liwe ...

  7. 【转载】Hyperledger学习小结

    Hyperledger学习小结 自学Hyperledger Composer也有段时间了,是时候对所学的知识总结一下了.因为没有实际项目参与的话,差不多也就到此为止了.后续可能会去了解一下以太坊的技术 ...

  8. js 第四章 cookie的操作

    js 第四章 cookie的操作 一.学习要点 掌握cookie的简单应用 二. js 第四章 cookie的操作 了解cookie 什么是cookie? cookie 是存储于访问者的计算机中的变量 ...

  9. 本周JavaScript学习小结

    应组长杨老师号召,写个js阶段性学习小结. emmm这周学了Linux进程通讯,学正则表达式尝试完成第一次编程作业,中秋还去平潭露营(所以...js学得很少hhh). 现在还处于感性认识阶段,浏览了一 ...

随机推荐

  1. python-廖雪峰,map/reduce学习笔记

    # _*_ coding:utf-8 _*_from functools import reduce def str2int(s): digits = {'0': 0, '1': 1, '2': 2, ...

  2. openstack--1--基础环境搭建

    Openstack介绍 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. Openstack包含三大项 ...

  3. activiti 委派和转办的区别

    委派 委派:是将任务节点分给其他人处理,等其他人处理好之后,委派任务会自动回到委派人的任务中 将hr的任务进行委派: taskService.delegateTask(taskId, userId); ...

  4. 轻量级web框架cicada----(转)

    源码地址: https://github.com/TogetherOS/cicada 快速启动 下面来看看如何快速启动一个 HTTP 服务. 只需要创建一个 Maven 项目,并引入核心包. < ...

  5. 路由器外接硬盘做nas可行吗?

    话说把家里的newifi mini升级到最新版后,又外接了个移动硬盘做nas,第一部就打算吧手机的视频移过去.一试才发现这速度慢的不行.只有几百kb 所以说,用是能用,单着速度也太慢了 再就是貌似硬盘 ...

  6. java 迭代

    迭代器的作用是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节. java中的很多容器都实现了Iterable接口,容器中的元素都是可以遍历的. 如下例,list容器中存 ...

  7. py-day1-5 python 分割 、 字母大小转换

    # partition() 分割为3段 从左往右遇见的第一个开始 test = 'bassaiwoll' v = test.partition('s') print(v) ('ba', 's', 's ...

  8. [转] Centos7 yum lock,无法上网问题,以及安装python3.5

    centos 7 无法上网问题 转自 http://www.cnblogs.com/katios/p/5660336.html 博主本着学无止境的精神在虚拟机上安装了一个centos7 来敲敲命令行. ...

  9. 蒲公英 Bug 管理云

    官网访问地址:https://www.tracup.com/ 优势地方: ①免费使用 现在免费,今后也一直免费. ②无需部署 网站采用云端部署,这也就意味着无需开发者自己搭建.部署,注册一个蒲公英账号 ...

  10. BT.656 NTSC制式彩条生成模块(verilog)

    BT.656 NTSC制式彩条生成模块(verilog) 1.知识储备 隔行扫描是将一副图像分成两场扫描,第一场扫描第1,2,5,7...等奇数行,第二场扫描2,4,6,8...等偶数行,并把扫奇数行 ...