JS基础与运算符知识点整理

3 篇文章 0 订阅

ECMA 规范 对JS的进行规范
ES5 ECMAscript指的javascript/JScript
ES6

【注释】:
1、单行注释
2、多行注释

【语句】

如何判断一条语句的结束。判断条件:分号。

书写格式:
关键词 标识符(变量名) 运算符 表达式 分号

【标识符命名规范】

1、不能以数字开头
2、可以包含:数字、字母、下划线、美元符号$
不可以包含其他字符
3、不许使用JS的关键字和保留字
4、大小写敏感(注:严格区分大小写)

软性要求:
1、望文知意

【数据类型】
1、基本数据类型
数值:Number
字符型:String 文本
布尔型:True False
null 判断用户是否输入东西
Undefined:undefined 标识符声明,未赋值。不是报错
symbol(对象时讲解)

2、引入数据类型
Object 对象

判断当前标识符的数据类型
console.log(typeof i);
console 输出
typeof

cls:清空终端栏

标识符
数据结构:【变量】
1、声明变量
ES5
关键词 标识符 分号
var F68 ;

ES6
let F68 ;
conset F68 ;

【var和let\conset区别?】
var声明的变量可以重复
let 、conset 声明的变量不可以重复
报错:
Identifier ‘F69’ has already been declared 重复声明
【let 和 const的区别】
let是声明变量
const是声明常量,赋值后不可以再更改(注:基础数据类型)
报错:
‘F69’ is not defined:变量没声明:遗漏声明。
【作用域】
let F68 = 1;
{
let F69=2;
}
console.log(F68);
console.log(F69);

当给一个变量赋值 ,但未添加关键字。则关键字为var

【全局变量问题】
let F68=10;
{
console.log(F68); //10

}

let F68=10;
{
console.log(F68); //F68 is not defined
let F68=3;
}
原因:先使用后声明
如果在局部作用域中,先使用了一个变量。
后面用let或const才声明该变量。则会无视全局变量。
即生成暂时性死区。

//eg1
let F68=1;
{
console.log(F68);//1
}
console.log(F68);//1

//eg2
let F69=2;
{
let F69 =3;
console.log(F69);//3 局部不会影响全局
}
console.log(F69);//2
//eg3
{
let F70 =4;
console.log(F70)//4
}
console.log(F70);//F70 is not defined
//eg4
let F71 =4;
{
F71 =5; //补个var var是全局变量,修改之前的全局变量
console.log(F71);//5
}
console.log(F71)//5

【输出undefined的2种方式】
let F68;
console.log(“F68:”+ F68); //写好变量 没赋值 un
console.log(typeof F69); //没有声明的变量 un

【null】
let F67=null;
console.log(F67);//null
console.log(typeof F67);//object NULL是引入数据类型

【数值型number】
1、整型
let F68=123;
console.log(F68);
console.log(typeof F68);
2、实数
let F68=12.3;
console.log(F68);
console.log(typeof F68);
3、NaN : Not a number
F68=NaN;
console.log(F68);//NaN
console.log(typeof F68);//number
【布尔型】
console.log(11);//true
console.log(null == undefined);//true
//undefined 是从null中衍生出来的 所以相等
console.log(1
NaN);//False
console.log(“ABC” == NaN);//False
console.log(NaN == NaN);//False
//NaN特别之处在于跟谁比都是False

【如何判断当前内容是不是非数字】
isNaN(NaN)
console.log(isNaN(NaN));
非数字的话是true,数字为False

数据类型转换

console.log(isNaN(NaN));//true
console.log(isNaN(false));//false
console.log(isNaN(“123”));//false 去掉“” 隐式转换
console.log(isNaN(“abc”));//true
console.log(isNaN(123));//false
console.log(isNaN(undefined));//true
console.log(isNaN(null));//false 0
console.log(null == 0);//false 死记硬背
console.log(null == undefined)//true 死记硬背

/字符型
let F68=’“1”’;
let F69=“A”;
let F70=1;
console.log(F68);
console.log(F70);
console.log(typeof F68);
console.log(F69);
console.log(typeof F69);

数字是黄色

  • : 如果左右出现字符串是字符串的拼接

let account = “罗忆虹”;
let age = 22;
let gender =“女生”
let marry = “未婚”;

console.log(“大家好,我叫”+account+",我是"+gender+",我今年"+age+“岁,至今”+marry);
console.log(typeof(age + gender));//string

let i = “1”+3;
console.log(i)

let dropmoney=“200”;
let blance=300;
blance = blance + dropmoney;
console.log(blance);

let num =1+2+3+4+‘5’;
console.log(num);

let num1 =“1”+2+3+4+5;
console.log(num1);

let num2 =1+2+“3”+4+5;
console.log(num2);

【字符串模板】
// let account = “小明”;
// let age = 22;
// let gender =“女生”
// let marry = “未婚”;

console.log(大家好,我叫${account},我是${gender},我今年${age}岁,至今${marry});
标识符:变量
表达式:可以得到结果的公式

【length】
字符的长度,一个空格一个长度。
除了字符串,其他类型长度为undefined


【算术运算符】
let i =2;
let j =1;
console.log(i+j);//3
console.log(i-j);//1
console.log(i*j);//2
console.log(i/j);//2
console.log(i%j);//0

//ES6新增
console.log(i ** 3);

【一元运算符】:自增
++i 先自增,再使用
i++ 先使用,再自增

let i = 2;
let k = ++i;
let j = i++;
console.log(k)
console.log(j);
// 3 3

let i = 2;
let j = i++;
let k = ++i;
console.log(j);
console.log(k)
//2 4

【赋值符号】
let F68 = 1;
F68 = F68 + 1;
F68 += 1;
F68 -= 1;
F68 *= 1;
F68 /= 1;
F68 %= 1;
console.log(F68);

【比较运算符】
console.log(1 == 1);
console.log(“1” == 1);
console.log(2>1);
console.log(1>2);
console.log(1!=2);
console.log(1===1);
console.log(“1”===1);//全等:值相等+类型也相等
console.log(1!==1);
console.log(“1”!==1);//不全等

【逻辑运算符】
let F68 = 300;
let F69 = (F68 % 5 == 0 && F68 % 6 != 0); //与 一假全假
console.log(F69);

let year = 2000;
(year%4 0 && year%100!=0) || year%4000 //或 一真全真

i = “A”;
if(i){
console.log(“true”);
}else{
console.log(“false”);
}//true

【转换成false】
数值型除了 0 -0 NaN之外都是1(true)
字符型除了"" 和’’ 和``都是1
null
undefined (没东西)
false

【与、或运算的原理】
let i =1 ;
let j =2 ;
let k =3 ;
console.log(1 && 2 && 3); //真返回后面,假 返回当前

let i =1 ;
let j =2 ;
let k =3 ;
console.log(1 || 2 || 3); //假返回后面,真 返回当前

【非】
! 取反
F68 != 1;
let i = true;
console.log(!i);//false
使用场景:
判断是不是纯数字
! isNaN(F68)

【三目运算符】
书写格式:
条件 ? 表达式1 :表达式2

功能:
条件为真,执行表达式1
条件为假,执行表达式2

比较两个数
let num1 =555;
let num2 =234;
num1>num2 ? console.log(num1):console.log(num2);

比较三个数
let num1 = 123;
let num2 = 234;
let num3 = 345;
(num1>num2)?
(num1>num3 ? console.log(num1):console.log(num3)) :
(num2>num3 ? console.log(num2):console.log(num3));

【位运算】 & | 按位进行转换
let i = 1;
let j = 2;
console.log(i & j);//0-false

let i = 1;
let j = 2;
console.log(i | j);//3

【隐式转换】

console.log(true == 1);//true
console.log(“a”<“b”);//true
console.log(1+2+3+“5”);//65
【显式转换】
let i =“123”;
let F68 = Number(i);
console.log(typeof F68,F68);

// let i =“abc”;
// let F68 = Number(i);
// console.log(typeof F68,F68);

// let i = true;
// let F68 = Number(i);
// console.log(typeof F68,F68);

// let i = undefined;
// let F68 = Number(i);
// console.log(typeof F68,F68); // number NaN

parseInt 只取值 不取单位 从第一个开始找,拿到非数字和空格为止
let i =“9a123px”;
let F68 = parseInt(i);//取整
console.log(typeof F68,F68);

/**

  • parseInt
  • 字符串转数值:
  • 1、获取第一个数字到第一个非数字之前的内容.
  • 2、第一位到第一个数字之间如果是0或字符,会自动无效
  • 3、第一位不是数字,不是加减号、空格,就会返回NaN
  • 使用场景:
  • 获取标签尺寸(去除单位)

*/

let j =“123.500”;
let F69 = parseFloat(j);//取整
console.log(typeof F69,F69);
// F69.toFixed(2)/;
console.log(typeof F69,F69.toFixed(2));

/**

  • parseFloat在parseInt的基础上能识别小数点,
    */

console.log(Math.ceil(j));//向上取整
console.log(Math.floor(j));//向下取整

console.log(Math.round(j));//四舍五入取整

// undefined 的类型为undefined
//数值转字符串
// let num =123;
// let F68 = String(num);
// console.log(typeof F68, F68)

let num = true;
let F68 = String(num);
console.log(typeof F68, F68)

【扩展】
toString
//string和toString的区别:
/**

  • 书写方式
  • String(转换的值)
  • 转换的值.toString(进制)
  • null 和undefined 没有tostring的方法
    */

【类型转换的快捷方式】
字符 -0 (Number)如果不是纯数字为NaN
非字符 +"" (String)
!!非布尔 (Boolean)
!1 = false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值