前端基础学习-day3

				 渡一领跑计划-春季班
				      507报道

函数
一个函数产生一个作用域,存储局部变量,可以访问外部的全局变量,函数外部的变量不能访问函数内部的变量。多个函数产生多个作用域,相互直接不能访问。

命名函数 function test(){};
匿名函数 var fn = function(){};

函数执行:
test();
fn();

function 函数名(形参){ };
函数名(实参);
形参与实参相映射,使用实参可以往函数中传参。
函数都有一个arguments为实参列表;

作用域(scope)
在函数执行前一刻,会产生一个执行期上下文,多次执行会产生多个执行期上下文;
每个执行期上下文都是独一无二的,当函数执行完毕,执行期上下文销毁。
[[scope]]由函数产生所产生的域,存储了执行期上下文的集合(作用域链)
作用域链:[[scope]]存储了执行期上下文的集合,这种集合程链式链接称为作用域链;

使用return 可以终止返回函数;

闭包(函数被保存到了外部必定产生闭包)
两个函数或多个函数,内部的函数值被保存到了外部,必定产生闭包;
被保存到外部的函数可以访问在内部时函数产生的环境变量
列:
function test(){
var num = 1;
function add(){
console.log(num ++);
}
return add;
}
var fn = test();
fn();1
fn();2
fn();3

闭包可以实现公有变量,做累加器

立即执行函数 针对初始化功能的函数
函数执行完一次立即释放
使用方式:
(function(){}());
(function(){})()

对象(与函数的使用方法一致)
创建对象的方法
1.对象字面量 plainObject
var data = {
属性名 : 属性值,
属性名 : 属性值,
属性名 : 属性值,
};
2.系统自带的构造函数Object()
使用new object()创造对象
var data = new object();
data.name = ;
data.age = ;

3.自定义(使用大驼峰式命名法,区分函数与构造函数)
function Data(){
name = ;
age = ;
}
var data = new Data();

function Data(name,age){
this.name = name;
this.age = age;
}
var data = new Data();
data.name = ‘qk’;
data,age = 13;

this指向自己本身

1.数据的增、删、改、查

页面布局先定义整体框架,添加css属性,在定义内部元素;
var a = 1;
初始变量赋值 称为初始化
显示类型转换
number(); a为NaN undefined为NaN null为0
parseInt() 转为整数
parsefloat
string 六种基本类型都转为字符串
tostring() undefind 和 null 不能使用
boolean 转为true fal

typeof() 查看元素类型(未一一种不报错)
typeof(typeof()) 类型都为字符串
typeof(null)类型为Object 历史遗留问题
隐式类型转换

命名函数
function test(){

}
test()
匿名函数
var test = function(){

}
test();

arguments实参列表

js 单线程,解释性语言
解释一行执行一行
三部曲
语法分析
预编译
解释执行

预编译:
全局变量 GO——归window所有
局部变量 AO

一个函数创建时会产生[[scopt]]的作用域,存储执行期上下文的集合,这个集合成链式链接,这种链式链接称为作用域链;

一个函数查找变量时会上作用域链上从上至下查找变量
当函数执行完毕时会销毁执行期上下文;再次执行函数时又重新创建;

预编译环节:
1、变量声明与形参提升至最上作为属性名,值为undefined
未经声明就赋值的值归全局Window所有
2、实参与形参先统一
3、在函数体里找函数声明,值赋予函数体
4、依次向下查找属性值,赋值
函数执行完毕销毁

将函数内部值保存到外部就会形成闭包,依旧可以访问函数内部的环境变量;
闭包会导致内存泄漏(内存越来越少)

对象
增删改查(删delete)
1、对象自变量
var obj = {}
2、系统定义的构造函数Object()
使用new Object();创造对象
var obj = new Object();
3.自定义 使用大驼峰式
function Data(){}
var data = new Data();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值