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) 自动 ...
随机推荐
- python并发编程之协程知识点
由线程遗留下的问题:GIL导致多个线程不能真正的并行,CPython中多个线程不能并行 单线程实现并发:切换+保存状态 第一种方法:使用yield,yield可以保存状态.yield的状态保存与操作系 ...
- Mybatis技术原理理——整体流程理解
前言:2018年,是最杂乱的一年!所以你看我的博客,是不是很空! 网上有很多关于Mybatis原理介绍的博文,这里介绍两篇我个人很推荐的博文 Mybatis3.4.x技术内幕和 MyBaits源码分析 ...
- 2019年6月pmp考试马上开始!报考9月怎么进行中文报名?
2019年6月pmp考试马上开始了,现在还可不可以报名参加考试呢?来不来得及呢?怎么进行中文报名,考点在哪里?如果现在想报考9月怎么进行中文报名?下面慧翔天地就给大家分享! (关于甘特图的画法,项目管 ...
- 微软必应地图加载错误:Uncaught TypeError: Microsoft.Maps.Location is not a constructor
微软必应地图在chrome浏览器加载错误:Uncaught TypeError: Microsoft.Maps.Location is not a constructor, 原因是没有等待地图API加 ...
- java实现单链接的几种常用操作
public class ListNode { public int value; public ListNode next; public ListNode(int value) { this.va ...
- 按Ctrl+Enter发送的实现
按Ctrl+Enter发送 1, 监听textarea的onkeydown事件 <textarea tabindex="1" class="ie6ta" ...
- redis批量灌库
需求:将批量数据灌入redis中 如果通过代码形式将数据灌入redis中,效率比较低,以下将根据redis的特性进行快速的批量灌库 环境:centos7 将数据整理成规定格式的文件,比如: SET k ...
- hihocoder 1175
拓扑排序 hihocoder 1175 拓扑只适用于 有向无环图中,这个指的是 1.有向的,不是那种双向可走的 2.无环,并不是不存在环,而是一定要有一个没有其他点指向这个点的点, 题目大意:一个有向 ...
- zimbra6同域名与同hostname与同系统异机恢复
系统:redhat5.4_64 安装DNS:[root@test6 ~]# yum install bind -y[root@test6 ~]# yum install bind-chroot -y[ ...
- Django-F,Q查询,Templatetags,session,中间件
内容总览1.ORM的多对多的使用 1>语法与实例 2>聚合与分组 3>F与Q查询 4>事务2.模板之自定义 1>初始化 2>filter 3>si ...