1.递归

在函数的内部调用自身,默认是一个无限循环。

2.匿名函数

没有名称的函数  function(){   }

(1)创建函数

函数声明

function fn1(){   }

函数表达式

var fn2=function(参数){  函数体;  }

变量名就是函数的名称

对比函数声明和函数表达式的区别

函数声明创建函数存在提升,可以在任意位置创建;

函数表达式使用变量创建的,只是存在变量提升,不存在函数提升,只能先创建,再调用。

(2)匿名函数自调用

目的:创建函数作用域包裹起来,防止污染全局。

(function(形参列表){

//函数体中的变量和函数不能被外部访问

})(实参列表);

(3)回调函数

把匿名函数以实参的形式传递,意味着形参就是传递的匿名的函数名称

function fn(a){

//调用fn的时候,匿名函数赋值给参数a,a就是函数名称

a()  //执行传递的匿名函数函数体中的代码

}

fn( function(){ ... } );

3.全局函数

parseInt()/parseFloat()/isNaN()

encodeURI()  对网址中的汉字进行编码

decodeURI()  对已经编码网址进行解码

isFinite()  判断一个值是否为有限值

是->true 不是-false

2/0 ->Infinity(无穷)   0/2 ->0

eval()   执行字符串中的表达式

eval('1+2')   //3

4.对象

属于引用类型数据

对象:是一组属性(property)和方法(method)的集合

一台电脑: 属性有颜色、尺寸、品牌、内存大小...方法有看视频、上网、敲代码..

一辆汽车: 属性有颜色、长度、品牌、空间大小...方法有代步,拉货、撞人...

万物皆对象

(1)JS中的对象

内置对象: JS提供的

宿主对象: 根据不同的执行环境划分

自定义对象: 自己创建的对象

(2)创建自定义对象

对象字面量

内置构造函数

自定义构造函数

(3)对象字面量创建对象

使用大括号创建空对象

属性名和属性值之间用冒号隔开

多组属性之间用逗号隔开

属性名中的引号可加可不加,如果含有特殊字符必须加

(4)访问对象中的属性

对象.属性名

对象['属性名']

如果访问的属性名不存在,返回undefined

(5)内置构造函数创建对象

new Object()  创建一个空对象

需要单独为对象添加每一个属性

(6)遍历对象中的属性

访问对象中的每一个属性

for(var key in 对象){

key  代表对象中的每个属性名

对象[key]  通过属性名或者对应属性值

}

JS的函数和对象一的更多相关文章

  1. js 原型 函数和对象的关系

    函数就是对象的一种  instanceof  可以做判断 var fn = function(){}; fn instanceof Object //true Object构造函数的prototype ...

  2. JS的函数和对象三

    复习 判断是否含有某个属性 对象.属性名 === undefined 对象.hasOwnProperty('属性名') '属性名' in 对象 方法  { say:function(){  this ...

  3. JS的函数和对象二

    复习 递归,在函数内部调用自身  return 匿名函数  function(){   } 创建函数,函数表达式  var fn=function(){   } 自调用   (function(){ ...

  4. js关于函数和对象的概念

    <script type="text/javascript"> function func1(fn){ if(typeof(fn)=="function&qu ...

  5. JS的函数和对象四

    复习 数组 toString/join/concat/slice/splice/reverse/sort/ push/pop/unshift/shift 字符串 new String(2)  /  S ...

  6. JS中函数参数和函数返回值的理解

    函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能 ...

  7. 对JS中函数的理解

    函数本质就是功能的集合 JS中函数是对象,因此,函数名实际上仅仅是一个指向函数对象的指针,不会与某个函数绑定,所以,JS中没有重载(重载就是通过传递不同类型的参数,使两个相同函数名的函数执行不同的功能 ...

  8. 聊聊传统oo和js的某些对比——对象/函数/new关键字等

    自己的学习记录,写的短点可以以后短时间内理清一些疑惑,看前要求你至少了解js中关于原型链等基本概念,因为文章直接以总结的形式理出知识点,没有去解释一些基本的概念! 1.1.熟记两句话,预预热 1. 函 ...

  9. JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype

    一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...

随机推荐

  1. python学习04数据

    #1.**幂 //返回商的整数部分x=5y=3print(x**y)print(x//y)print(5/2)#2.复数a+bjc=2+5jprint(c.real)#返回复数的实部print(c.i ...

  2. Spring boot 自定义banner

    Spring Boot启动的时候会在命令行生成一个banner,其实这个banner是可以自己修改的,本文将会将会讲解如何修改这个banner. 首先我们需要将banner保存到一个文件中,网上有很多 ...

  3. opencv-10-图像滤波-噪声添加与均值滤波-含opencv C++ 代码实现

    开始之前 再说上一篇文章中, 我们想按照噪声产生, 然后将降噪的, 但是限于篇幅, 我就放在这一篇里面了, 说起图像的噪声问题就又回到了我们上一章的内容, 把噪声当作信号处理, 实际上数字图像处理实际 ...

  4. 【JAVA基础】05 Java语言基础:数组

    1. 数组概述和定义格式说明 为什么要有数组(容器) 为了存储同种数据类型的多个值 数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数据类型,也可以存储引用 ...

  5. WebRTC 及点对点网络通信机制

    原文请查阅这里,略有删减,本文采用知识共享署名 4.0 国际许可协议共享,BY Troland. 这是 JavaScript 工作原理第十八章. 概述 何为 WebRTC ?首先,字面上已经给出了关于 ...

  6. HDOJ 4699 Editor 对顶栈模拟

    Editor Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Subm ...

  7. P2620 虫洞

    题目背景 applepi 想进行宇宙旅行.当然,applepi 知道这是有可能的,因为applepi 的特殊能力能使他观测到宇宙中的虫洞.所谓虫洞就是一个在三维之外的维度打开的快捷通道,通过虫洞能够从 ...

  8. LateX的简单字体设置(颜色,居中,大小等)

    \(\color{red}{Ⅰ.文本单行居中}\) $$\text{我是蒟蒻}$$ \[\text{我是蒟蒻} \] \(\color{Black}{Ⅱ.设置字体颜色}\) $$\color{Purp ...

  9. 【BIM】BIMFACE中实现电梯实时动效

    背景 在运维场景中,电梯作为运维环节重要的一部分是不可获缺的,如果能够在三维场景中,将逼真的电梯效果,包括外观.运行状态等表现出来,无疑是产品的一大亮点.本文将从无到有介绍如何在bimface中实现逼 ...

  10. Spring Cloud Stream学习(五)入门

    前言: ​ 在了解完RabbitMQ后,再来学习SpringCloudStream就轻松很多了,SpringCloudStream现在主要支持两种消息中间件,一个是RabbitMQ,还有一个是KafK ...