js-DAY2-

91 阅读4分钟

数据类型的转换:

  • number + number = number
  • number + string = string

js获取页面上的一切东西,数据类型默认都是一个字符串

typeof(写入想查看的内容)可以用来查看数据类型。

*****算术运算的隐式转换:

默认:悄悄的将左右两边的东西,转为一个数字,再运算

特殊:

1、+运算,碰上一个字符串,左右两边都会悄悄的变成字符串,+运算也不再是+运算,变了拼接操作

2、原来别的数据类型也能转为数字

  • true->1
  • false->0
  • undefined->NaN:只要是转为数字,但是我又不知道该转为多少的时候,结果一定为NaN
  • null->0 3、其实-*/%,字符串也可以转为一个数字,前提要是一个纯数字组成的字符串才能,但凡包含了一个非数字字符则为NaN
  • "100"->100
  • "100px"->NaN 4、NaN:Not A Number:不是一个数字,但是确实又是数字类型,不在三界之中,不是一个有效的数字:
  • NaN参与任何算术运算,结果仍为NaN
  • NaN参与任何比较运算,结果都为false,甚至自己都不认识自己
  • 一般常用:!isNaN(不是一个有效数字) 不同场景会有不同的数据类型的转换

强制/显示转换:

转字符串:

var str=xx.toString();一般不常用

因为页面上的一切数据类型都是字符串 转数字:3种 parseInt(str/num); parse->解析 Int->整型(不认识小数点)

  • console.log(parseInt(100.5));//100
  • console.log(parseInt("100px"));//100
  • console.log(parseInt("px100"));//NaN
  • console.log(parseInt("1px00"));//1

parseFloat(str/num);parse->解析 Float->浮点数:小数(和上面原理一样,不同的是这个认识小数点,可以去小数点后面的数)

Number(x);//此方法是万能的,任何人都可以转为数字(完全等效于隐式转换,还不如 -0 *1 /1)

*****Function的基础:

1、Function:函数,也称之为方法:需要【预定义】好的,以后就可以【反复使用】的【代码段】

2、如何使用:2步

  • 1、创建/定义/封装函数:

      function 函数名(){
    
      若干的函数体/代码段/操作
    
      }
    
  • 2、调用/使用函数

        函数名();
        1、程序员在js里写死,调用几次,就执行几次
        2、交给用户来触发,只需要为某个元素绑定点击事件
                  <elem onclick="js代码">内容</elem>
    
  • 3、何时使用:

> 1、不希望打开页面立刻执行,而需要时再用,或者由用户来触发
> 2、希望能够反复执行,不用刷新页面
> 3、以后任何一个独立的功能体,都要单独封装为一个函数(你的每一个作业)
> 4、函数在js中的地位最高:函数是第一等公民地位,所以随时随地,咱们要想着能不能封装函数
  • 4、带参数的函数
 创建:形参:形式参数,其实就是一个变量,但是不需要写var,而且默认也没有保存任何值
		function 函数名(形参,...){
			若干的函数体/代码段/操作
		}

	   调用:实参:实际参数,真正的值,需要你在调用函数时传入进去函数名(实参);
   特殊:1、传参的顺序一定要一一对应上,并且数量也要对应
	 2、不是一定需要带参数的函数,才是好函数,具体要不要带有参数,需要看我们的需求
		如果你的函数体就是固定的 - 则普通函数搞定
		如果你的函数体是根据参数的不同,做的略微不同 - 就使用带参数的函数

***分支结构:

1、程序的流程控制语句:3种

1、顺序执行 - 默认:从上向下依次执行
2、分支结构 - 通过条件判断,选择部分代码执行
3、循环结构 - 通过条件判断,选择要不要重复执行某块代码

2、比较运算符:>= <= > < == !=

用于做判断的
	结果:一定是一个布尔值true或者false
	强调:1、单=:不是比较,而叫做赋值操作,把等号右边的东西保存到等号左边

3、逻辑运算符:

&&:与、并且。要求全部条件都满足才执行
||:或。有一个条件满足就执行
 !:颠倒布尔值:(反过来的意思!true==false

4、分支的语法:

一个条件,一件事,满足就做,不满足就不做
			if(条件){
				操作
			}

		一个条件,两件事,满足做第一件,不满足做第二件
			if(条件){
				操作
			}else{
				默认操作
			}

		多个条件,多件事,满足谁,就做谁
			if(条件1){
				操作1
			}else if(条件2){
				操作2
			}else{
				默认操作
			}