原生js之运算符&函数

136 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

运算符

和C中类似,加减乘除 浮点数的运算会有精度问题(因为系统转成2进制来算的) 不要直接判断两个浮点数是否相等 逻辑中断 在这里插入图片描述 在这里插入图片描述 ifelse/while/switch/for和C语言一样

操作符左右最好隔一个空格

	 	console.log(1&&0);
        console.log(1 || 0);
        console.log(!0);
        console.log(!100);
        console.log(!1);

在这里插入图片描述

数组稍有不同
var str = new Array();	// 不常用
var str = [];	// 常用
var str = [1, 12, 'hello', true];	//这是合法的
console.log(str);	// 可以直接输出整个数组
console.log (str[2]);
//str.length是数组长度,可以改的,使用这个来检测数组元素个数更合适

修改数组长度两方法

var str = [1, 2];
// 以下两种
str.length = 3;
str[2] = 0;

函数

1.声明函数

function 函数名() {

}
//
var 变量名 = function (){

}

2.调用函数

3.arguments

在不清楚参数个数时使用 存储了传递过来的所有实参,实质是一个伪数组 在这里插入图片描述 可以直接把数组作为一个参数对象传递进去,也可以return出来

作用域

和C类似,但多一个作用域链 调用的函数里面有定义在函数之外的变量且外部多个时,找最近一级的一种机制

预解析

浏览器的js引擎把所有的var和function提升到当前作用域的最前面——预解析,之后才是代码执行

  • 变量提升 只把变量的声明提升,不提升赋值或者其他
  • 函数提升 把函数声明提升 在这里插入图片描述