微信小程序之JavaScript

        

目录

1、JavaScript简介

1.1、JavaScript数据类型

1.2、JavaScript函数

1.3、JavaScript字符串

 1.4、JavaScript 类型转换

1.5、JavaScript 错误 - throw、try 和 catch

1.6、JavaScript 调试

1.7、JavaScript 异步编程

1.7.1、Promise

1.7.2、异步函数

1.8、函数定义

1.9、函数参数


学习路径:菜鸟教程,主要就是熟悉一下JavaScript的语法规则,然后我学习的是微信小程序,所以JavaScript很多内容都不需要,例如在html中的使用

1、JavaScript简介

  • JavaScript 拥有动态类型,使用关键字 var 来定义变量,返回时确定数据类型
  • JavaScript使用分号分割语句(非必要),使用分号是可以在一行执行多条语句
  • JavaScript中的let命令所在的代码块内有效
  • JavaScript中的const不需要声明变量类型,c语言用法const int a,现在 const a即可

1.1、JavaScript数据类型

        值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol(表示独一无二的值)。

        引用数据类型(对象类型):对象(Object)、数组(Array)、函数(Function),还有两个特殊的对象:正则(RegExp)和日期(Date)。

        注意:对象由花括号分隔。在括号内部,对象属性名称和值对的形式 (name : value) 来定义。属性由逗号分隔,访问时的两种方法:

object.name;
object["name"];

1.2、JavaScript函数

        函数声明,关键词 function 必须是小写的(小程序好像可以不需要function)

function myFunction(var1,var2)
{
    //执行代码
}

1.3、JavaScript字符串

方法描述
charAt()返回指定索引位置的字符,或者直接使用[index]获取
charCodeAt()返回指定索引位置字符的 Unicode 值
concat()连接两个或多个字符串,返回连接后的字符串,多个的时候使用,单个也可以使用push
fromCharCode()将 Unicode 转换为字符串
indexOf()返回字符串中检索指定字符第一次出现的位置
lastIndexOf()返回字符串中检索指定字符最后一次出现的位置
localeCompare()用本地特定的顺序来比较两个字符串
match()找到一个或多个正则表达式的匹配
replace()替换与正则表达式匹配的子串
search()检索与正则表达式相匹配的值
slice()提取字符串的片断,并在新的字符串中返回被提取的部分
split()把字符串分割为子字符串数组
substr()从起始索引号提取字符串中指定数目的字符
substring()提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase()根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase()根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase()把字符串转换为小写
toString()返回字符串对象值
toUpperCase()把字符串转换为大写
trim()移除字符串首尾空白
valueOf()返回某个字符串对象的原始值
constructor对创建该对象的函数的引用
length字符串的长度
prototype允许您向对象添加属性和方法

 1.4、JavaScript 类型转换

  • typeof 操作符来查看 JavaScript 变量的数据类型
  • String()toString()可以将数字/和布尔值转换为字符串:String(123)/String(false)
  • toExponential()把对象的值转换为指数计数法。
  • toFixed()把数字转换为字符串,结果的小数点后有指定位数的数字。
  • toPrecision()把数字格式化为指定的长度。
  • Number() 可以将字符串/布尔值转换为数字:Number("123"),Number(false)
  • Number() 和getTime() 可将日期转换为数字,返回秒数:Number(new Date()) 

        注意事项:例如var x = 10 + "5";竟然可以正常运行返回"105",这样在自己调用的时候需要注意其类型,避免出现自己混淆出现程序跑飞的情况

1.5、JavaScript 错误 - throw、try 和 catch

  • try 语句允许我们定义在执行时进行错误测试的代码块, try 和 catch 是成对出现的。
  • catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
  • throw 语句创建自定义错误。
  • finally 语句在 try 和 catch 语句之后,无论是否有触发异常,该语句都会执行。

1.6、JavaScript 调试

  • console.log() 方法在调试窗口上打印 JavaScript 值

1.7、JavaScript 异步编程

        异步的概念:程序的运行是同步的(同步不意味着所有步骤同时运行,而是指步骤在一个控制流序列中按顺序执行)。而异步的概念则是不保证同步的概念,也就是说,一个异步过程的执行将不再与原有的序列有顺序关系。JavaScript 中的异步操作函数往往通过回调函数来实现异步任务的结果处理。

        回调函数就是一个函数,它是在我们启动一个异步任务的时候就告诉它:等你完成了这个任务之后要干什么。这样一来主线程几乎不用关心异步任务的状态了,他自己会善始善终。例如:

//这段程序中的 setTimeout 就是一个消耗时间较长(3 秒)的过程,
它的第一个参数是个回调函数,第二个参数是毫秒数,
这个函数执行之后会产生一个子线程,子线程会等待 3 秒
setTimeout(function () {
    document.getElementById("demo").innerHTML="RUNOOB!";
}, 3000);

1.7.1、Promise

        新建一个JavaScript Promise 对象

new Promise(function (resolve, reject) {
    // 要做的事情...
});

        Promise 构造函数只有一个参数,是一个函数,这个函数在构造之后会直接被异步运行,所以我们称之为起始函数。起始函数包含两个参数 resolve 和 reject,但是请注意以下两点:

  • resolve 和 reject 的作用域只有起始函数,不包括 then 以及其他序列;
  • resolve 和 reject 并不能够使起始函数停止运行,别忘了 return。

1.7.2、异步函数

        异步函数 async function 中可以使用 await 指令,await 指令后必须跟着一个 Promise,异步函数会在这个 Promise 运行中暂停,直到其运行结束再继续运行。

        异步函数实际上原理与 Promise 原生 API 的机制是一模一样的,只不过更便于程序员阅读。

处理异常的机制将用 try-catch 块实现:

async function asyncFunc() {
    try {
        await new Promise(function (resolve, reject) {
            throw "Some error"; // 或者 reject("Some error")
        });
    } catch (err) {
        console.log(err);
        // 会输出 Some error
    }
}
asyncFunc();

1.8、函数定义

        箭头函数

//定义
(参数1, 参数2, …, 参数N) => { 函数声明 }

(参数1, 参数2, …, 参数N) => 表达式(单一)
// 相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; }
//实例
// ES5
var x = function(x, y) {
     return x * y;
}
 
// ES6
const x = (x, y) => x * y;

1.9、函数参数

  • JavaScript 函数定义显式参数时没有指定数据类型。
  • JavaScript 函数对隐式参数没有进行类型检测。
  • JavaScript 函数对隐式参数的个数没有进行检测。

例如函数参数检测:

//	如果 y 已经定义,y || 0 返回 y,因为 y 是 true,
否则返回 0,因为 undefined 为 false。
function myFunction(x, y) {
    y = y || 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值