js 和 java 的异同点
首先,js 的语法和 kottlin 的语法有些相似。比如 var,方法声明用
      function 方法名称 (参数名称...){
        //方法内部逻辑
      }  
还有变量类型声明 :
数据类型 : 变量名=值
区别:一:js 的数据类型和 java 类似。只不过 js 中的数据类型 number 将 java 中的 int,double,float 整合了。		二:js 中可以不用声明变量类型。变量不声明数据类型的话,那么他的类型取决于当前的值是什么数据类型。举例:
 var num=0;num-"lyyyyyyyyyyyyyy";num=[];num={};
       复制代码
 
三:js 中的类型判断:
 console.log(typeof '');//stringconsole.log(typeof []);//objectconsole.log(typeof {});//objectconsole.log(typeof 1);//numberconsole.log(typeof null);//objectconsole.log(typeof undefined);//undefinedconsole.log(typeof true);//booleanconsole.log(typeof function(){});//functionconsole.log(typeof /\d/);//object
       复制代码
 
   检查某个对象属于哪个构造函数,返回true/false
       复制代码
 
 function A(){};function B(){};let a = new A();console.log(a instanceof A);console.log(a instanceof B);console.log([] instanceof Array);//trueconsole.log({} instanceof Object);//trueconsole.log(/\d/ instanceof RegExp);//trueconsole.log(function(){} instanceof Object);//trueconsole.log(function(){} instanceof Function);//true
       复制代码
 变量声明
js 的变量声明其实大体上可以分为三种:var 声明、let 与 const 声明和函数声明。
函数声明
 doSomething(); function doSomething() {    console.log('doSomething');}var doSomething= 2;
       复制代码
 
你觉得上面会输出什么?TypeError 吗?其实输出的结果是 doSomething。这就引出了我们的问题了,当函数声明与其他声明一起出现的时候,是以谁为准呢?答案就是,==函数声明高于一切,毕竟函数是 js 的第一公民。==
那么,下面的例子呢?
 doSomething(); function doSomething() {    console.log('1');} function doSomething() {    console.log('2');}
       复制代码
 
当出现多个函数声明,那怎么办呢?以上代码输出结果为 2。==因为有多个函数声明的时候,是由最后面的函数声明来替代前面的。==
 doSomething(); var doSomething= function() {    console.log('doSomething');}
       复制代码
 
var doSomething = function() {}这种格式我们叫做函数表达式。
它其实也是分为两部分,一部分是 var doSomething,而一部分是 doSomething = function() {},参照例 1,我们可以知道,实际上这道题的结果应该是报了 TypeError(==因为 doSomething 声明但未赋值,因此 doSomething 是 undefined==)。
评论