【JavaScript基础速记】

JavaScript 基础重点


来源于[菜鸟教程](https://www.runoob.com/js/js-tutorial.html)

自己敲一遍搬到博客里方便复习~

定义

  • 由来
    ECMA-262 是 JavaScript 标准的官方名称。
    JavaScript 由 Brendan Eich 发明。它于 1995 年出现在 Netscape 中(该浏览器已停止更新),并于 1997 年被 ECMA(一个标准协会)采纳。

  • 定义
    JavaScript是一种轻量级的编程语言,是可插入HTML页面的编程代码。

  • 作用
    直接写入HTML输出流,对事件的反应,改变HTML内容,改变HTML样式。

使用位置

  • 在 HTML 页面中插入 JavaScript,使用 script 标签。

  • 可位于 HTML 的 body 标签 或 head 标签部分中,或者同时存在于两个部分中。

  • 脚本保存到外部文件 .js 中

输出数据

//弹出警告框
<script>window.alert(5+5);</script>   

//用id属性标识HTML元素,用innerHTML获取或插入元素内容。
<script>doucument.getElementById(“demo”).innerHTML = “…”;
</script> 

//在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖。
<script>doucument.write();写在HTML文件</script>

//控制台输出
<script>console.log(c);</script> 




运算符

+ - * / != = === !==

=== 为绝对相等,即数据类型与值都必须相等。

+ 运算符用于把文本值或字符串变量加起来(连接起来),两个数字相加,返回数字相加的和,如果数字与字符串相加,返回字符串


变量

字面量:不变量

字面量 eg
Number 123e5
String ‘cc’ “cc”
Array [40,50]
Object {age:18,name:’zz’,}
Function function myfirst(a,b){return a*b;}

  • 变量:变量用于存储数据值       关键字var 定义变量
    命名规则: 以字母 或 $ 或 _ 符号开头

  • 重新声明变量,该变量的值不会丢失      

  • JS拥有动态类型,相同的变量可用作不同的类型

  • 声明变量,未赋值,值为undefined

  • number类型NaN判断是不是数据
     通过将变量的值设置为 null 来清空变量。 person=null; delte a;

  • 值赋给尚未声明的变量,该变量将被自动作为 window 的一个属性
    声明新变量时,可以使用关键词 “new” 来声明其类型:
    在这里插入图片描述


注意

每个句子接分号;
大小写敏感
命名驼峰法的命名规则,如 lastName
JS是脚本语言,浏览器会在读取代码时,逐行地执行脚本代码。
null是一个只有一个值的特殊类型。表示一个空对象引用。
null 和 undefined 的值相等,但类型不等:

typeof undefined             // undefined
typeof null                  // object
null === undefined           // false
null == undefined            // true


常用语句

【JavaScript基础速记】_第1张图片


数据类型

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol

引用数据类型:对象(Object)、数组(Array)、函数(Function)

  • 数字的科学计数法:123e5 123e-5

  • 布尔类型:true,false

  • 数组: var cars = new Array();
            cars[0] = ‘bmw’;

  • 对象:花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义, var person = {name:’zz’,age:18};
    对象属性有两种寻址方式: name=person.name; name=person[“name”];


JavaScript 对象是属性和方法的容器,JavaScript 对象是键值对的容器。
键值对写法: name : value
键值对在 JavaScript 对象通常称为 对象属性。
【JavaScript基础速记】_第2张图片


函数

比较省事但让人不习惯
不用声明变量类型:

function myFunction(a, b) {
    return a * b;  //return;
}

函数表达式存储在变量后,变量也可作为一个函数使用:

var x = function (a, b) {return a * b};
var z = x(4, 3);

通过关键字 function 定义:

//eg1
var myFunction = new Function("a", "b", "return a * b");
var x = myFunction(4, 3);
//eg2
var myFunction = function (a, b) {return a * b};
var x = myFunction(4, 3);


这个作用让人很费解...
提升:将当前作用域提升到前面去的的行为。

1.函数提升
2.变量提升

//eg1
myFunction(5);

function myFunction(y) {
    return y * y;
}

//eg2
a = 5;
var a;


箭头函数
(参数1, 参数2, …, 参数N) => { 函数声明 }

(参数1, 参数2, …, 参数N) => 表达式(单一)
// 相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; }

const value = (x,y) =>{return x * y;}
//() => {函数声明}无参


函数有个内置的 arguments 对象 全部参数当作这个数组对象

函数的调用:

  • window.方法
  • 对象.方法
  • 方法
  • call() 和 apply() 对象.方法

闭包
闭包是一种保护私有变量的机制,在函数执行时形成私有的作用域,保护里面的私有变量不受外界干扰。使得函数拥有私有变量变成可能,计数器受匿名函数的作用域保护,只能通过 add 方法修改。直观的说就是形成一个不销毁的栈环境。

变量声明时如果不使用 var 关键字,那么它就是一个全局变量,即便它在函数内定义。

在 JavaScript 中,所有函数都能访问它们上一层的作用域。
JavaScript 支持嵌套函数。嵌套函数可以访问上一层的函数变量。

var add = (function () 
{
    var counter = 0;
    return function () {return counter += 1;}
})();//自调用
add();
add();
add();

const
声明一个只读的常量,一旦声明,常量的值就不能改变。
const 定义的变量并非常量,并非不可变,它定义了一个常量引用一个值。使用 const 定义的对象或者数组,其实是可变的。

使用var关键字声明的全局作用域变量属于window对象。
使用let关键字声明的全局作用域变量不属于window对象。
使用var关键字声明的变量在任何地方都可以修改。


正则表达式

(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。

search()
replace()


我是一只努力飞的菜鸟,大家一起加油吧。
如有错误,请指出,大家一起进步哦!
2020/07/08

你可能感兴趣的:(面试速记)