js隐式类型转换,预编译递归

Posted 古月大叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js隐式类型转换,预编译递归相关的知识,希望对你有一定的参考价值。

隐式类型转换

调用Number()
当有运算符(加减乘除,求余)时,会调用Number()转为数字再运算,除了 加 当 有字符串时就变身成拼接
Boolean();
String();

typeof()string返回的类型

预编译

 在<script>里面的代码,进行预编译,将变量声明,,函数声明提高在逻辑的前面;执行代码时在GO(即window对象)中取出值,
var a = 1;
function text(){}
例如 Go{
  a : undefined;
  text : function(){}
}
当遇到函数的执行时,也会进行预编译,和上面差不多,,1将声明变量,形参赋值为undefined,2 将形参值传入 3 声明方法
AO = (Active Object)
{
  a : undefined;
  text : function(){
}
ps:变量名和函数名相同时会覆盖

function text(a,b,c){
      console.log(arguments.length)//arguments实参变量数组,可以拿到实际传入的变量值
      console.log(text.length)//拿到形参个数
}

递归

就是找规律比如 ,,求阶乘  求n的阶乘,,
1 写出通式 f(n) = n * f(n-1); 2 找终止条件
function jiecheng(n) {
   if( n == 1){
      return 1;
    }

  return n*jiecheng(n-1);
}

逻辑运算符

|| 寻找为真的表达式,,将值返回,不会再执行后面的表达式
&& 寻找假的表达式  将值返回,,不会再执行后面的表达式

 

以上是关于js隐式类型转换,预编译递归的主要内容,如果未能解决你的问题,请参考以下文章

深入浅出JavaScript中的隐式转换

Java除了数字类型的自动隐式类型转换,对类有类似功能么?

Scala隐式转换

JavaScript类型转换

scala中隐式转换之总结

Scala隐式转换