一.funciton数据类型

1.定义:一个function类型对象,用于管理一个具体函数.
function类型相当于Java中java.lang.reflect.Method

2.函数类型对象创建时机:

在浏览器加载一个函数之后,就会自动为当前函数创建一个函数
类型对象

3.函数声明方式:

1) 标准形式
function 函数名(参数名1,参数名2)
{
命令行1;
命令行2;
[return 返回数据;]
}
注意地方:
首先,函数声明时,是不能指定返回数据类型
然后,函数形参没有资格使用var来修饰,也不能
指定形参数据类型

2) 匿名声明形式

var 函数对象= function (参数1,参数){命令行;};
****JavaScript中认为引用匿名函数的对象名字就是当前函数名***

3) 通过JavaScript内置Function构造函数创建函数实例对象

var 函数对象 = new Function("参数1","参数2"..."命令行1;命令行2;命令行3;.......");

4.JavaScript函数调用

1.所有函数都是需要由隶属的对象进行调用 window.alert();
2.如果函数隶属于window对象,此时可以省略window. alert();

5.JavaScript中[全局变量],[局部变量],[全局对象]

1.[全局对象]:[全局对象]就是顶级对象,在JavaScript中
[全局对象]就是window

2.[局部变量]:在函数体内通过var声明变量,成为[局部变量]
这个变量只能在函数体内部使用,不能在函数体外部
使用的
3.[全局变量]: 在<script>中直接声明变量还有函数,都是全局变量
所有的全局变量,自动作为window中属性或则函数

6.JavaScript中是否会出现函数重载这个概念

JavaScript中根本就不存在[函数重载概念]

7.JavaScript中函数参数管理方式

JavaScript中采用[动态参数]管理方式进行管理.
所以JavaScript函数在调用时,不需要与函数形参进行对应

8.JavaScript中如何得到函数形参个数和函数运行时得到实参

在JavaScript中,每一个函数类型对象自动分配一个length,返回
当前函数声明形参个数

在JavaScript中,每一个函数类型对象自动分配一个arguments,这个属性
是一个数组,在这个数组保存函数运行时接收所有的实参

注意: length属性可以在函数内部和外部使用
arguments属性只能在函数内部使用

9. 函数声明与变量声明提升

1.标准形式声明函数,可以遵守变量声明提升
2.匿名形式声明函数,不遵守变量声明提升.

js高级类型的更多相关文章

  1. 前端进阶试题css(来自js高级前端开发---豪情)既然被发现了HOHO,那我就置顶了嘿嘿!觉得自己技术OK的可以把这套题目做完哦,然后加入高级前端的社区咯

    http://www.cnblogs.com/jikey/p/4426105.html js高级前端开发加群方法(此群很难进,里面纯技术,严禁广告,水群) 完整题目做完发邮箱(jikeytang@16 ...

  2. Typescript高级类型与泛型难点详解

    最近做的TS分享,到了高级类型这一块.通过琢磨和实验还是挖掘出了一些深层的东西,在此处做一下记录,也分享给各位热爱前端的小伙伴.   其实在学习TS之前就要明确以下几点:   1. typescrip ...

  3. typescript枚举,类型推论,类型兼容性,高级类型,Symbols(学习笔记非干货)

    枚举部分 Enumeration part 使用枚举我们可以定义一些有名字的数字常量. 枚举通过 enum关键字来定义. Using enumerations, we can define some ...

  4. js高级-面向对象继承

    一.工厂模式创建对象及优缺点 继承就是把公共的部分抽象出来作为父类,基类.吃饭,跑步等 var a = {}; //批量创建不方便,不能重复设置公共属性的代码 //工厂模式出现了,创建10个Cat对象 ...

  5. Ext.js高级组件

    第二章:Ext.js高级组件 grid组件 普通方式 表格面板类Ext.grid.Panel xtype(别名):gridpanel.grid title标题.renderTo渲染至.width宽.h ...

  6. 面试官问你JS基本类型时他想知道什么?

    面试的时候我们经常会被问答js的数据类型.大部分情况我们会这样回答包括:1.基本类型(值类型或者原始类型): Number.Boolean.String.NULL.Undefined以及ES6的Sym ...

  7. TypeScript完全解读(26课时)_12.TypeScript完全解读-高级类型(1)

    12.TypeScript完全解读-高级类型(1) 高级类型中文网的地址:https://typescript.bootcss.com/advanced-types.html 创建新的测试文件 ind ...

  8. JS高级学习历程-1

    JS高级-34-昨天内容回顾     时间:2015-5-11 1.DOM获取元素节点 document.getElenmentById(id 属性值)                         ...

  9. 为vue3.0学点typescript, 解读高级类型

    知识点摘要 本节课主要关键词为: 自动类型推断 / 类型断言 / 类型别名(type) / 映射类型(Pick/Record等...) / 条件类型(extends) / 类型推断(infer) 自动 ...

随机推荐

  1. adb push 中文路径文件名丢失后缀

    adb 的一个BUG. 今天刷机的时候,用以下命令多次 push 安装包到手机: adb push F:\刷机\Nexus5\lineage-14.1-20170314-nightly-hammerh ...

  2. 简单 php 代码跟踪调试实现

    简单 php 代码跟踪调试实现 debug_backtrace:生成回溯 debug_print_backtrace:打印回溯 1. debug_backtrace ($options = DEBUG ...

  3. Python_001_开始学习的一些准备

    从Hello World!开始,希望你能坚持一下,然后每一天有一点收获. ♥   安装了pip和setuotools库: pip用于安装管理Python扩展包,setuptools用于分布Python ...

  4. 数论ex

    数论ex 数学学得太差了补补知识点or复习 Miller-Rabin 和 Pollard Rho Miller-Rabin 前置知识: 费马小定理 \[ a^{p-1}\equiv 1\pmod p, ...

  5. [Windows Hyper-V-Server]Enable or disable firewall rules under powershell / powershell下启用禁用防火墙规则

    http://www.cryer.co.uk/brian/windows/hyper-v-server/help_computer_cannot_be_managed.htm Enable COM+ ...

  6. laravel 配置MySQL读写分离

    前言:说到应对大流量.高并发的解决方案的时候,总会有这样的回答,如:读写分离,主从复制...等,数据库层今天先不讨论,那么今天我们就来看看怎么在应用层实现读写分离. 框架:laravel5.7(所有配 ...

  7. 计算机网络Web应用层与运输层(HTTP/TCP)

    应用层协议原理 Web和HTTP DNS:英特网的目录服务 运输层 面向连接的运输:TCP及拥塞原理 一.应用层协议原理 DNS域名解析: (用例:www.baidu.com)域名解析是网络请求的第一 ...

  8. Kindle复活记

    此前,2015年为了配合拆机堂的内容项目,我们将全新Kindle PaperWhite 3进行全球首拆,让网友们第一时间全面了解了Kindle PaperWhite 3的内部构造.但由于进行深度拆解, ...

  9. 20155324《网络对抗》Exp07 网络欺诈防范

    20155324<网络对抗>Exp07 网络欺诈防范 实践内容 简单应用SET工具建立冒名网站 ettercap DNS spoof 结合应用两种技术,用DNS spoof引导特定访问到冒 ...

  10. L1-Day15

    1.      我记得昨天锁门了呀.(什么关系?“记得”后面,如果接动词,那动词该是什么形式?) [我的翻译]I remembered locking the door yestarday. [标准答 ...