JavaScript摘星

本文是JavaScript的用途介绍,以及语法规则(用法),方便后续查阅;

用途:

JavaScript是为实现动态页面而出现的技术,主要功能也是修改HTML页面内容。

语法规则:

引入方式:

1.超链接方式: 运行JavaScript
2. 内嵌方式:<script type="text/javascript>
alert(“直接运行的JavaScript!”);

3. 外联方式:

<script…>标签属性;
defer: 整个页面加载完毕再执行script即js脚本(该元素推迟了脚本执行,无论脚本位置都放最后执行,避免位置不同执行结果的差异);
async:异步执行脚本(浏览器来启动新线程来异步执行<script…/>元素导入的脚本文件,不影响解析<script…>元素后的页面内容)

<noscript.>标签(又称为元素):
向不支持JavaScript或禁用JavaScript的浏览器显示提示信息,无任何属性;

数据类型和变量(任何语言都需要),只是定义与使用方式不同:
在JavaScript中,有“隐式定义”(直接赋值)和“显示定义”(var关键字定义变量)
类型转换:
自动类型转换,但是可读性差,一般选择JavaScript提供的函数来强制类型转换:
toString():将布尔值、数值等转换成字符串;
parseInt():将字符串、布尔值等转换成整数;
parseFloat():将字符串、布尔值等转换成浮点数;

变量的作用域也有全局变量和局部变量:
	全局范围内定义的变量就是全局变量,函数内定义的变量称为局部变量;
	函数内局部变量覆盖全局变量。
	var:是否使用var定义变量的区别:var定义变量,程序回强制定义一个新变量,而不使用var,后面使用已定义的同名变量,可能就是对已有全局变量的赋值。
	函数内变量声明会提升到函数体的顶部(不论其实际的位置),只是提升其变量声明部分,其赋值部分不会提升。
	let变量的使用~~删除线格式~~
	const定义常量,必须定义时指定初始值,不可改变;
	包含的基本数据类型:数值类型、布尔类型、字符串类型、undefined类型、null类型;
	其字符串类型必须用引号括起来(单双引号都可以),JavaScript以String内建类来表示字符串,包含以下基本方法和属性来操作字符串:
	String()  charAt()  charCodeAt() length()  toUpperCase()  toLowerCase()  fromCharCode()   indexOf()  lastIndexOf()  substring()  slice()  match()  search()  concat()  split()  replace()   

正则表达式就是一种特殊的字符串,允许使用通配符,表达式必须在两条斜线之间;

复合类型(多个基本类型或复合类型组成的数据体):
Object对象 Array数组 Function函数

JavaScript是基于对象的脚本语言,提供了大量的内置对象:
Array Date Error Function Math Number Object String

Array

  • 数组作为栈时两个方法:
    push(ele):元素入栈,返回入栈后数组的长度;
    pop():元素出栈,返回出栈的数组元素;

  • 数组作为队列时的两个方法
    unshift(ele):元素入队列,返回入队列后数组的长度;
    shift():元素出队列,返回出队列的数组元素;

  • concat(value,…):为数组添加元素,返回追加元素后的数组,但员数组不变;

  • join([separator]):将数组的多个元素拼接,组成字符串后返回;

  • reverse():反转数组包含的元素;

  • slice(start,[end]):截取数组在start索引和end索引之间的子数组,原数组不改变。

  • sort(sortfunction):对数组元素排序

  • splice(start,deleteCount,value,…):截取数组从start开始、deleteCount个元素,再将多个value值追加到原数组中,返回被截取部分组成的新数组;

函数、运算符、语句(包括异常语句)、流程控制等的定义不再介绍(与java大差不差);

函数是JavaScript的一等公民,定义一个函数后得到4项:

  1. 函数   像java方法一样,该函数(方法)可以被调用
    
  2. 对象 系统会同时创建一个对象,是Function类的实例;
  3. 方法 该函数通常会附加给某个对象,作为该对象的方法;
  4. 变量 定义函数的同时,也得到一个变量;
  5. 类 也得到一个与函数同名的类;

函数调用方式:

  1. 直接调用;
  2. new 关键字调用;
  3. call()方法或apply()方法调用
    调用者.函数(参数1,参数2…) = 函数.call(调用者,参数1,参数2…)

创建对象方式:

  1. new关键字调用构造器(就是new关键字函数调用)
  2. Object直接创建对象(也是new)
  3. JSON语法创建对象

箭头函数
相当于其他语言的Lambda表达式或闭包语法,是普通函数的简化写法
(param1,param2,…,paramN) => {statements}
相当于如下函数:
function(param1,param2,…,paramN){
statements
}

函数的参数处理
基本类型 参数采用值传递方式(传入实参的副本);
复合类型 参数实际采用的也是值传递方式,但是其副本和原变量指向同一个JavaScript对象,实际上修改了同一个对象,所以似乎是“引用传递”;

闭包:
扩大函数的局部变量的作用域,使得局部变量一直存货到函数之外的地方;这种现象就是闭包;
为了避免这种情况,通常不建议直接在函数定义(类定义)直接为该函数定义方法(内函数),建议使用prototype属性(所有JavaScript的类都有一个prototype属性),是对原有类的扩展(原有类就不存在了)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值