js与java的区别 数据类型

学习1

对于今天的学习,印象比较深的地方是在网页中把地图显示出来。这主要是用了地图组件。我记得之前做小程序的时候,了解过天气组件,天气api,跟这个有点像。

一开始运行的时候,弹出的浏览器里边什么都没有,也没有弹窗。群里的同学说也遇到了同样的问题,后面才知道重启电脑就好了。重启之后浏览器里面是会有内容的,可能是因为我用的是IE,阻止了弹窗跳出来,设置一下允许就行。不过一直这样也不方便,还是把默认浏览器设置成Chrome比较好。

js基础

JS与Java的区别

JS:解释型语言,运行在浏览器上
Java:服务器端语言,运行在Jvm上,强类型语言

数据类型

弱类型语言的数据类型取决于赋值
C语言的基本数据类型有4种:整型,浮点型,指针,聚合类型(数组和结构体)
Js的基本数据类型有5种:number string boolean null undefined
Java的基本数据类型有8种: byte short int long float double char boolean undefined

引用数据类型
在c语言中称为结构体,用于保存一些较为复杂的值
在js中除了基本数据类型剩下的全部都是引用数据类型

如何检测数据类型

  typeof
  var result = typeof a;    // result为a的数据类型
  基本数据和引用数据类型在内存中的表现形式

  算术运算符
  逻辑运算符
  操作数可以为任意的数据类型,并且返回结果也可以为任意数据类型
  &&
    同真则真,有假则假
    true && true    // true
    true && false   // false

    "hello" && "world"    // "world"
    如果第一个表达式为真,第二个表达式就可以决定整个表达式结果,返回第二个表达式  
    "" && 25.8            //""
    如果第一个表达式为假,整个表达式结果就已经确定,直接返回第一个表达式,无需判断第二个表达式
    ||
    有真则真,同假才假
    true || false   // true
    "hello" || "world"    // "hello"
    如果第一个表达式为真,整个表达式结果就已经确定,直接返回第一个表达式,无需判断第二个表达式
    如果第一个表达式为假,第二个表达式就可以决定整个表达式结果,返回第二个表达式 
    !
    !true     //false

比较运算符
操作数一般为数字类型但是不确保,返回值为布尔类型
>
let age = 15;
age > 16 // false
>=
<
<=
==、!=
当比较基本数据类型的时候,比较值,当值类型不同,先转换再比较, 当比较引用数据类型的时候,比较引用地址。
let a = 3;
let b = “3”;
a == b; // true
let a = {}
let b = {}
a == b // false

当比较基本数据类型的时候,先比较数据类型,如果数据类型不同直接返回false,否则再进一步比较值。
当比较引用数据类型的时候,比较引用地址。

    let a = 3;
    let b = "3";
    a == b;  // false   
    let a = {}
    let b = {}
    a == b  // false  
    
   三目运算符
    let age = 13;
    let result = age > 16?"成年人":"未成年人";    // "未成年人"
  
   一元运算符
    +
    let a = 3;
    +a;   // 3
    -
    let a = 3;
    -a;   // -3
    类型转换
    var a = true;
    +true     //1 将true转换为数字类型 
    -(-true)  //1
    
    ++ 自增
    let a = 3;
    a++;    // 4

    let a = 3;
    a++ + ++a;  //8   a = 5
     -- 自减

类型转换
1) boolean
Boolean(a)
!!a
-----------------------
true false
字符串 非空 空
数字 非0 0、NaN
null null
undefined undefined
2) string
String(a)
a+"" 任何其他数据类型与字符串相加结果都为字符串
3) number
Number(a);
+a
-(-a)
parseInt(a) parseInt表示从字符串中解析出int类型
parseInt(“23.5abc”) //23
parseFloat(a) parseFloat表示从字符串中解析Float类型
parseFloat(“23.5abc”) //23.5
parseFloat(“abc23.5”) //NaN
流程控制语句
1) 分支语句
1. if
let a = 19;
if(a>16){
console.log(“成年人”); // 只有当if中的表达式为true的时候才会执行
}
console.log(“end”); // 始终执行

  1. if-else
    let age = 15;
    if(age>16){
      console.log("成年人");
    } else {
      console.log("未成年人");
    }

  2. if-else-if
    let day =2;
    if(day === 1){
      console.log("周一");
    } else if(day === 2){
      console.log("周二");
    } else if(day === 3){
      console.log("周三");
    }...
  3. switch-case
    let v = 1;
    switch(v){
      case c1:
        exp1;
        break;
      case c2:
        exp2;
        break;
      ...
      default:
        exp;
        break;
    }
    v 与 c1对比采用的是 ===, 意味着先比较数据类型在比较值
    default中可以不添加break。但是当default位于其他地方的时候一定要添加break;
循环语句
  三要素:
    初始化条件 结束判定条件 迭代

  1~100之间的累加操作
   1. for循环
    for(初始化条件;结束判定条件;迭代){
      循环体
    }
    例如:
    let result = 0;
    for(var i=1;i<=100;i++){
      result += i;  // result = reuslt + i;
    }

   2. while循环
    初始化条件
    while(结束判定条件){
      循环体
      迭代
    }
    例如:
    let result = 0;
    let i = 1;
    while(i<=100){
      result += i;
      i++
    }

   3. do-while循环
    初始化条件
    do{
      循环体
      迭代
    }while(结束判定条件);

    例如:
    let result = 0;
    let i = 1;
    do{
      result += i;
      i++;
    } while(i<=100);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值