当前位置:   article > 正文

微信小程序之JavaScript_在微信小程序的js文件中编写函数的注意点

在微信小程序的js文件中编写函数的注意点

        

目录

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) 来定义。属性由逗号分隔,访问时的两种方法:

  1. object.name;
  2. object["name"];

1.2、JavaScript函数

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

  1. function myFunction(var1,var2)
  2. {
  3. //执行代码
  4. }

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 中的异步操作函数往往通过回调函数来实现异步任务的结果处理。

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

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

1.7.1、Promise

        新建一个JavaScript Promise 对象

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

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

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

1.7.2、异步函数

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

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

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

  1. async function asyncFunc() {
  2. try {
  3. await new Promise(function (resolve, reject) {
  4. throw "Some error"; // 或者 reject("Some error")
  5. });
  6. } catch (err) {
  7. console.log(err);
  8. // 会输出 Some error
  9. }
  10. }
  11. asyncFunc();

1.8、函数定义

        箭头函数

  1. //定义
  2. (参数1, 参数2, …, 参数N) => { 函数声明 }
  3. (参数1, 参数2, …, 参数N) => 表达式(单一)
  4. // 相当于:(参数1, 参数2, …, 参数N) =>{ return 表达式; }
  5. //实例
  6. // ES5
  7. var x = function(x, y) {
  8. return x * y;
  9. }
  10. // ES6
  11. const x = (x, y) => x * y;

1.9、函数参数

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

例如函数参数检测:

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/120964
推荐阅读
相关标签
  

闽ICP备14008679号