JS基础知识11-20

随学随整理,养成随手做笔记的习惯
11. 断点调试: 在Chrome里找到Source,指向有效代码第一行,按F5即只会执行动此处,表示这行代码未执行状态,按下箭头
12. 可以通过arguments获取函数调用时的实参,但不是数组,不过可以当数组用,当传参个数固定时推荐在函数中使用形参,但当出现“任意”字段时,推荐使用arguments调用。在这里插入图片描述
13. 闰年:能被4整除但不能被100整除;或者能被400整除
14. 函数声明:
---- 命名函数:function +函数名(){}
----匿名函数:var fn=function(){};匿名函数可以实现自调用!!当函数书写完后立即调用,后面那个括号就是自调用
----函数也是一种数据类型,也可以作为函数形参,或者返回值,但返回值用到的是匿名函数
在这里插入图片描述
15.作用域:变量或函数可以起作用的范围。ECMAScript是JS的语法规范;
1)全局作用域:在script或者一个独立的js文件中,在全局作用域中定义的变量,在任何位置都可以访问。
2)局部作用域:任何一个函数的内部都有一个局部作用域,在局部作用域中定义的变量称为局部变量,局部变量只有在定义该变量的函数中可以访问
16.JS代码执行前会进行一个预解析:
1)变量提升:把变量的声明提升到当前作用域的最上面,但不包括变量的赋值
2)函数提升:同上,但不包括函数的调用
如:

console.log(num);
var num=5;

预解析后:

var num;
console.log(num);//输出undefined
num=5;

在预解析过程中如果函数和变量名字相同,则函数优先。

function f1(){
	var a=b=c=9;//这样定义则a是函数内局部变量,而b,c是全局变量,
}			//相当于:var a=9;b=9;c=9

17.方法中this表示当前的对象指针
18.对象创建方式:
1)对象字面量:var hero={a: ;b: ;c: }
2)var hero=new Object():new是关键字,Object是构造函数,()是函数调用;这样会在内存中创建一个对象,通过new方式调用构造函数,此时可以动态给对象加属性,如hero.name=‘xxx’;
3)通用创建多个对象(工厂方法)

function creatHero(name,age){
   var hero=new Object();
   hero.name=name;
   hero.age=age;
   return hero;
}

4)定义多个对象可以自定义构造函数,其中每个单词的首字母都要大写

function Hero(name){
	this.name=name;
}
var hero=new Hero("xxx");

19.new关键字执行过程:
1)在内存中创建一个空对象;
2)让构造函数中的this指向刚刚创建的对象
3)执行构造函数,在构造函数中设置属性和方法
4)返回当前对象
20.this在函数中指向window;
this在方法中指向这个方法所属的对象;
this在构造函数中指向构造函数中创建的对象即new创建出来的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值