通过这段js学习,我们不仅学到了丰富的知识,还进一步提高了业务素质,下面我从以下几个个方面谈谈我对本阶
段学习的心得:
一、基础很重要
谁都想掌握高端大气的技术,但是我觉得没有一个扎实的基础,我认为一切高阶技术对我来讲都是过眼云烟,要成为一名及格的前端工程师,必须把基础打扎实了。我也想展翅高飞,但前提我必须练就一双会飞的翅膀。
上学习流程和基础知识点
A.变量
变量名可以任意取名,但要遵循命名规则:
1.变量必须使用字母、下划线(_)或者美元符($)开始。
2.然后可以使用任意多个英文字母、数字、下划线(_)或者美元符($)组成。
3.不能使用JavaScript关键词与JavaScript保留字。
B.函数
function定义函数的关键字。
"函数名"你为函数取的名字。
"函数代码"替换为完成特定功能的代码。
第四种:输出HTML标签,并起作用,标签使用 " " 括起来。
一般建议放在最后,在页面渲染结束后再执行js脚本加载,因为js加载常常会遇到阻塞的问题,不能因为js的阻塞而影响页面渲染效果。
当然不同情况有不同的处理,比如进行页面显示初始化的js必须放在head里面,因为初始化都要求提前进行(如给页面body设置css等);而如果是通过事件调用执行的function那么对位置没什么要求的。
C.输入输出
第一种: 输出内容用 " " 括起,直接输出 " " 号内的内容。
第二种: 通过变量,输出变量的内容
第三种: 输出多项内容,内容之间用 +号 连接。
二、提前预习相关知识,js很多知识c语言都有系统的提到,容易形成知识体系
三、难点:1.预解析
js解析过程
一、语法检查
词法分析
分解为词法单元
语法分析
将词法单元转换成抽象语法树(AST)
二、运行
1.预编译/解析
将生成AST复制到当前执行的上下文中。对当前AST中的变量声明、函数声明及函数形参进行属性填充
a.声明提前
js预解析会把当前正在解析的文件中的所有var 和function声明的变量在内存中进行提前声明或者定义
var
第一步:在内存中开辟了一个空间:函数名;如果当前环境下已经有了同名的空间,不在开辟空间
第二步:将函数名和函数体结合
function
第一步:在内存中开辟了一个空间 函数名, 如果当前环境下已经有了同名的这个空间(不再开辟了)
第二步: 将这个函数名与函数体做了一个结合
b.执行
JavaScript逐行读取并运行代码
案列分析
无参
有参
先赋值,后预解析
当变量名与函数名相同的情况:产生覆盖
2.对象的创建
a.创建
var star = {
name : 'pink',
age : 18,
sex : '男',
sayHi : function(){
alert('大家好啊~');
}
};
1.字面量
创建
var star = {
name : 'pink',
age : 18,
sex : '男',
sayHi : function(){
alert('大家好啊~');
}
};
调用
1.点语法
obj.age
2.关联数组
obj['age'];
3.方法调用
obj.方法名()
2.new
创建
var andy = new Object();
andy.name = 'pink';
andy.age = 18;
andy.sex = '男';
andy.sayHi = function(){
alert('大家好啊~');
}
调用
cindy.name;
cindy['name'];
cindy.sayHi();
3.构造函数
创建
function 构造函数名(参数){
this.属性名=属性值;
this.方法名=function(){}
}
构造函数实例化
var p =new 构造函数名();
调用
new 构造函数名();
调用函数返回的是一个对象
p.属性名
p['属性名']
p.方法名()
|
|