js高级类型
一.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高级类型的更多相关文章
- 前端进阶试题css(来自js高级前端开发---豪情)既然被发现了HOHO,那我就置顶了嘿嘿!觉得自己技术OK的可以把这套题目做完哦,然后加入高级前端的社区咯
http://www.cnblogs.com/jikey/p/4426105.html js高级前端开发加群方法(此群很难进,里面纯技术,严禁广告,水群) 完整题目做完发邮箱(jikeytang@16 ...
- Typescript高级类型与泛型难点详解
最近做的TS分享,到了高级类型这一块.通过琢磨和实验还是挖掘出了一些深层的东西,在此处做一下记录,也分享给各位热爱前端的小伙伴. 其实在学习TS之前就要明确以下几点: 1. typescrip ...
- typescript枚举,类型推论,类型兼容性,高级类型,Symbols(学习笔记非干货)
枚举部分 Enumeration part 使用枚举我们可以定义一些有名字的数字常量. 枚举通过 enum关键字来定义. Using enumerations, we can define some ...
- js高级-面向对象继承
一.工厂模式创建对象及优缺点 继承就是把公共的部分抽象出来作为父类,基类.吃饭,跑步等 var a = {}; //批量创建不方便,不能重复设置公共属性的代码 //工厂模式出现了,创建10个Cat对象 ...
- Ext.js高级组件
第二章:Ext.js高级组件 grid组件 普通方式 表格面板类Ext.grid.Panel xtype(别名):gridpanel.grid title标题.renderTo渲染至.width宽.h ...
- 面试官问你JS基本类型时他想知道什么?
面试的时候我们经常会被问答js的数据类型.大部分情况我们会这样回答包括:1.基本类型(值类型或者原始类型): Number.Boolean.String.NULL.Undefined以及ES6的Sym ...
- TypeScript完全解读(26课时)_12.TypeScript完全解读-高级类型(1)
12.TypeScript完全解读-高级类型(1) 高级类型中文网的地址:https://typescript.bootcss.com/advanced-types.html 创建新的测试文件 ind ...
- JS高级学习历程-1
JS高级-34-昨天内容回顾 时间:2015-5-11 1.DOM获取元素节点 document.getElenmentById(id 属性值) ...
- 为vue3.0学点typescript, 解读高级类型
知识点摘要 本节课主要关键词为: 自动类型推断 / 类型断言 / 类型别名(type) / 映射类型(Pick/Record等...) / 条件类型(extends) / 类型推断(infer) 自动 ...
随机推荐
- Day 1 上午
唉,上午就碰到一个开不了机的电脑,白白浪费了半个小时,真的难受QwQ POINT1 枚举 枚举也称作穷举,指的是从问题所有可能的解的集合中一一枚举各元素. 用题目中给定的检验条件判定哪些是无用的,哪些 ...
- python中方法的总结
# 1.用函数实现过滤掉集合list1=[' ','hello',None,'python' ]中的空格和空值 # 2.用函数方法实现计算集合list1 = [1,2,3,4,5]中,所有元素的和 c ...
- 【地图功能开发系列:二】根据地址名称通过百度地图API查询出坐标
根据地址名称通过百度地图API查询出坐标 百度地图ApiUrl string url = "http://api.map.baidu.com/geocoder?address={0}& ...
- Arrays和String单元测试(课下作业,选做)
在IDEA中以TDD的方式对String类和Arrays类进行学习- 测试相关方法的正常,错误和边界情况 - String类 - charAt - split - Arrays类 - sort - b ...
- C# 中的#if、#elif、#else、#endif等条件编译符号
C#编译器遇到一个由#if和#endif包围起来的语句块时,会检查#if后面的符号是否已经被定义了,如果已经被定义,那么才会编译语句块之间的代码.而定义一个可以被#if测试的符号需要事先用#defin ...
- AFM论文精读
深度学习在推荐系统的应用(二)中AFM的简单回顾 AFM模型(Attentional Factorization Machine) 模型原始论文 Attentional Factorization M ...
- 074、如何安装和配置Rex-Ray?(2019-04-19 周五)
参考https://www.cnblogs.com/CloudMan6/p/7607705.html Rax-Ray 是一个优秀的Docker volume driver ,本节将学习其安装和配置 ...
- day22 栈 , 队列 , 约束和反射
#!/usr/bin/env python# -*- coding:utf-8 -*- # 1.请使用面向对象实现栈(后进先出)"""class Account: def ...
- 深入浅出mybatis之缓存机制
目录 前言 准备工作 MyBatis默认缓存设置 缓存实现原理分析 参数localCacheScope控制的缓存策略 参数cacheEnabled控制的缓存策略 总结 前言 提到缓存,我们都会不约而同 ...
- (二)初探Maven之设置代理和阿里云镜像
引言: 在许多公司,可能因为安全性的要求配置了代理服务器,用户无法直接访问外网,所以在项目中使用Maven必须设置好代理才能下载依赖. 并且直接从中央仓库下载依 ...