🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 1、数据类型转换 a)转换成字符串 i.使用 变量.toString(); //不能转换undefined和null ii.使用String(变量); //能转换所有的数据类型 iii.其他类型的变量和字符串相加(连)操作的时候,会把其他类型的变量通过String自动转换成字符串,然后在完成连接操作 b)转换成数值型 i.parseInt(变量); //检查字符0处的字符是否是数字,如果是继续向后检查,直到发现一个非数字为止,然后将前面的数字部分转换成整型;如果发现0处的字符不是数字,则转换成NaN。 ii.parseFloat(变量); //转换成浮点型,规则和parseInt一样,只不过parseFloat允许有一个小数点。 iii.强制转换Number(变量); // false0; true1; undefinedNaN; null0; c)转换成浮点型 i.下面的值转换成浮点型之后为false:""、0、 0.0、 undefined、 null、NaN。 ii.除了上面列举的值,其他值转换成布尔都是true,包括"0", [], {}; # 2、流程控制 a)顺序结构 b)分支结构 c)循环结构:可以给循环起一个名字,比如( a:for(…)…)for循环中,前面的a就表示它的名字,用于break等指定循环使用 # 3、函数基础 a)定义函数 i.常规的方式:function 函数名(){} //可以先调用,后声明 ii.表达式方式:var 函数名 = function(){}; //只能先定义,后使用 iii.立即调用模式: ( function(){} ) (); //红色的小括号必须的,表示里面声明的函数是一个整体;绿色的小括号表示调用函数。 # 4、作用域 a)分类:全局作用域和局部(函数)作用域 b)作用域规则 i.函数可以使用函数之外定义的变量 ii.函数内部优先使用内部的变量,如果内部没有,才去函数外部查找。(注意变量提升) iii.函数内部没有用var声明的变量,也是全局变量。 # 5、变量提升和函数预加载 a)变量提升 i.如果在声明变量之前,就使用了一个变量。这种情况不会报错,它实际执行的过程是把声明变量的过程提升到使用之前,注意的是只是把声明变量的过程提升到使用之前,并没有把变量的赋值过程提升。 b)函数预加载 i.函数声明必须是常规方式( function 函数名(){} ) ii.函数的调用和声明必须在同一个script标签中