Rec01 | JavaScript 变量、函数

一、变量

  1. 整型
    包括浮点数和整数,都是64位。
    NaN表示not a number,当出现0/0时就会出现这个结果。
    浮点数分符号位、小数位、整数位。
    Infinity,-Infinity都表示无穷,Infinity-1仍是Infinity,Infinity-Infinity是NaN。

  2. 字符串
    字符串可用“abc”,‘abc’ 来表示,双引号与单引号没多大区别;
    字符串的运算只有+,例如,”a"+‘b’=“ab”
    但是,如果在字符串中使用"abc 100 / 2 “ , 此 时 就 会 计 算 {100/2}“,此时就会计算 100/2{}内的值,然后把值转换从字符串输出

  3. typeof运算符
    会返回一个字符串,用来表示typeof 后面数据的类型;
    例如,typeof 2.2//number “x” /string

  4. Boolean类型
    一般是true或false,特别的NaN == NaN ,结果为false

  5. 空类型
    null、undefined 是差不多的两个东西
    null 指代一个空的object,转化成整型是0,!null=true
    undefined 指代没有定义的原始值 ,比如var a;转成数值是NaN
    注意:只有当null == undefined 时,才会得出true
    null==0 是false

  6. 自动类型转换
    一般的JavaScript会进行自动类型转换,比如
    8*null = 0
    ”5“-1 = 4 字符串转数字
    ”5“+1=51 数字转字符串
    “five” * 8 = NaN 因为five不能转成一个确定的值,所以five=NaN
    规避自动类型转换的两个运算符!=== 与 ===
    当你不想使用自动类型转换时,就用null===undefined 得到false
    或者0!==false 得到true;

  7. 条件运算符返回值
    1||“51” 返回值是1
    0||0||123 返回值是123
    原理是,自动类型转换,直到把某个类型转换成true,然后返回它的值,注意,在条件表达式中0、NaN、“”都是false

  8. Let 与 Var
    二者作用范围不同,Let是{ }作用域,Var 是全局作用;
    let相当于是指针,const就是固定的指针,与某个常数绑定;

  9. JavaScript环境
    在某一个给定时间内,存在的Bindings和值,它们的集合就叫做环境。当程序开始执行时,环境不为空,因为JavaScript永远有bindings在语言std中,通常这些bindings会与电脑的操作系统相关;
    比如,在浏览器里面有读键盘、鼠标的输入函数。

二、函数

函数定义

//其实就是一个常规的 binding,用关键词function创建一个函数

const square = function(x){
    
    
	return x*x;
};
function square2(x)
{
    
    
return x*x;
};

每种类型的binding 都有一个绑定范围,即生存空间;
比如,在function以外的都是全局作用域——单个program,也把全局作用域叫global;

特殊的函数定义写法:

用=>代替关键词function;()内 是参数
只含一个参数时,可写成base=>{};
不含参数要写成() => { }

const power=(base,exponent) => 
{
    
    
	let result=0;
	for(let count =0;count < exponent;count++)
	{
    
    
		result *=base;
	}
	return result;
};

可选参数:
例如,func(a,b)
若调用(1,2,3),那么只会take前两个
若调用(1),那么b就成了undefined 传入函数
或者,定义func(a,b=2)
若调用(1),那么b就成了2被默认传入func,即使没写

返回值为函数的情形:
请注意,函数名在JavaScript里面也是值

function abs(x)
{
    
    
	return name => name + x;
}
let a=abs(2);
a(2);

a(2)的值实际就是调用了返回的函数,即2+2 =4

猜你喜欢

转载自blog.csdn.net/weixin_42557786/article/details/109435655