-
Object:(复杂数据类型)
-
Null:表示为空的引用。var a = null;
-
Undefined:未定义,用var声明的变量,没有进行初始化赋值。var a;
7. JavaScript对象
-
JavaScript 对象是拥有属性和方法的数据,是变量的容器。
-
对象:是封装一个事物的属性和功能的程序结构,是内存中保存多个属性和方法的一块存储空间。
-
JavaScript中所有事物都是对象:数字、字符串、日期、数组等。
-
JavaScript对象可以是字面量创建、分配给变量,数组和其他对象的属性、作为参数传递给函数、有属性和作为返回值。
用字面量创建:
function MyFun(){
};
分配给其他对象的变量,数组和属性:
var myFun = function(){
};
myArray.push(function(){
});
myObject.myFun = function(){
};
作为参数传递给其他函数:
function myFun(someFunc){
someFunc();
}
myFunc(function(){
});
有属性:
var myFunc = function(){
};
作为返回值:
function myFunc(){
return function(){
};
}
在JavaScript中定义对象有5种方式:
-
基于已有对象扩充其属性和方法
-
工厂方式
-
构造函数方式
-
原型(“prototype”)方式
-
动态原型方式
JS 中的对象类型:
- 内置对象(静态对象):js本身已经写好的对象,我们可以直接使用不需要定义它。
常见的内置对象有 Global、Math(它们也是本地对象,根据定义每个内置对象都是本地对象)。
- 本地对象(非静态对象):必须实例化才能使用其方法和属性的就是本地对象。
常见的本地对象有 Object、Function、Data、Array、String、Boolean、Number、RegExp、Error等
- 宿主对象:js运行和存活的地方,它的生活环境就是DOM(文档对象模式)和BOM(浏览器对象模式)。
8. JavaScript函数
使用函数前要先定义才能调用,函数的定义分为三部分:函数名,参数列表,函数体
定义函数的格式:
function 函数名([参数1,参数2…]){
函数执行部分;
return 表达式;
}
函数有三种定义方法:
-
函数定义语句
-
函数直接量表达式
-
Function构造函数
函数有四种调用模式:
-
函数调用模式(通过函数调用)
-
方法调用模式(通过对象属性调用)
-
构造函数模式(如果是作为构造函数来调用,那么this指向new创建的新对象)
-
函数上下文(借用方法模式:它的this指向可以改变,而前三种模式是固定的);函数上下文就是函数作用域;基本语法:apply 和 call 后面都是跟两个参数。)
在javascript函数中,函数的参数一共有两种形式:(实际参数与形式参数)
-
形参:在函数定义时所指定的参数就称之为“函数的形参”。
-
实参:在函数调用时所指定的参数就称之为“函数的实参”。
9. 运算符
算术运算符:主要是用来进行JavaScript中的算术操作。(+、-、*、/、%、++、--)
赋值运算符:=用于给JavaScript 变量赋值,其作用就是把右侧的值赋给左侧的变量。
关系运算符:用于进行比较的运算符。主要有小于(<)、大于(>)、等于(==)、大于等于(>=)、小于等于(<=)、不等(!=)、恒等(===)、不恒等(!==)
。
逻辑运算符:逻辑运算符通常用于布尔值的操作,返回结果是一个布尔类型,一般和关系运算符配合使用,
有三个逻辑运算符:逻辑与(AND)、逻辑或(OR)、逻辑非(NOT)。
字符串连接运算符:是用于两个字符串型数据之间的运算符,它的作用是将两个字符串连接起来。
在JavaScript中,可以使用 +
和 +=
运算符对两个字符串进行连接运算。
三目操作符(条件运算符):? 根据不同的条件,执行不同的操作/返回不同的值。
10. JavaScript条件语句
分为四种条件语句:
If 语句:只有当指定条件为true时,使用该语句来执行代码
if-else 语句:当条件为true时执行代码,当条件为false时执行其他代码
if-else if-else 语句:使用该语句来选择多个代码块之一来执行;
switch 语句:同上,switch的工作原理呢?
首先设置表达式n(通常是一个变量),随后表达式的值会与结构中的每个case值作比较;
如果存在匹配则该关联代码块执行;
然后使用break来阻止代码自动的向下一个case运行;
default关键词来规定匹配不存在时做的事情。
需要领取:【点击这里领取面试题资料】
-
介绍JavaScript的基本数据类型
-
说说写JavaScript的基本规范?
-
jQuery使用建议
-
Ajax使用
-
JavaScript有几种类型的值?你能画一下他们的内存图吗?
-
栈和堆的区别?
-
Javascript实现继承的几种方式
-
Javascript创建对象的几种方式?
-
Javascript作用链域
-
谈谈this的理解
-
eval是做什么的?
-
什么是window对象? 什么是document对象?
-
null,undefined的区别?
-
[“1”, “2”, “3”].map(parseInt) 答案是多少?
-
关于事件,IE与火狐的事件机制有什么区别? 如何阻止冒泡?
-
什么是闭包(closure),为什么要用它?
-
javascript 代码中的"use strict";是什么意思 ? 使用它区别是什么?
-
如何判断一个对象是否属于某个类?
-
new操作符具体干了什么呢?
-
Javascript中,执行时对象查找时,永远不会去查找原型的函数?
-
对JSON的了解?
-
JS延迟加载的方式有哪些?
-
同步和异步的区别?
-
什么是跨域问题 ,如何解决跨域问题?
-
页面编码和被请求的资源编码如果不一致如何处理?
-
模块化开发怎么做?
-
AMD、CMD规范区别?
-
requireJS的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何缓存的?)
-
call和apply
-
documen.write和 innerHTML的区别
-
回流与重绘
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
[外链图片转存中…(img-OBNFMsrs-1715486378932)]
[外链图片转存中…(img-LjA3MvHQ-1715486378932)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!