js基础区别

Posted xiaozhou619

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js基础区别相关的知识,希望对你有一定的参考价值。

// console.log(null == undefined);
// 布尔类型有true和false
// if(true){
// console.log("hello world");
// }
// true是所有的非0的数字都可以划等号
// if(-10){
// console.log("hello world");
// }
// console.log(Boolean(""));false
// console.log(Boolean(" "));true
// if(`里面有内容就不算空,就算是一个空格也不是空,有内容就算true,没有就是false`){
// console.log(‘hello world‘)
// } false
// “” ‘’ `` 0 -0 NaN false null undefined都是false
// console.log(0b101);二进制前面加0b
// console.log(0101);八进制前面加0
// console.log(0x101);十六进制前面加0x
// 实数
// 3.14*10 的5次方;
// 3.14e+5
// 负的次方就在e后面-次方数
// let a=NaN+10;
// console.log(a);返回类型就是NAN类型
// console.log(isNaN(""));空字符串也是数值类型,是非nan类型
// NaN和任何值都不相等,包括他自己本身也不相等
// 非数返回ture 如果是一个数 返回类型false 并且能够隐式转换为数字,也是按照数字处理都是false
// NaN属于number类型
// console.log(Number(‘123‘));123
// console.log(Number(‘123abc‘));NaN
// parseInt有两个参数,后面的参数可以控制多少进制,前面的参数是第二个参数进制下的数,最后将它转化为十进制,
// console.log(parseInt(‘123abc‘));123
// console.log(parseInt(‘abc123‘));NaN
// console.log(parseInt("10",8));八进制
// console.log(parseInt("101",8));
// console.log(parseInt("AF"));NaN
// console.log(parseInt(""));NaN
// console.log(parseInt("AF",16));十六进制 abcdef是10到15的数
// parseFloat()将非数转化为浮点数只能解析十进制只有一个参数;
// console.log(parseFloat("3.14"));
// console.log(parseFloat("123acd"));123
// console.log(parseFloat("abc123"));NaN
// console.log(parseFloat("2.15e+2"));215
// console.log(parseInt("12.3#"));12
// console.log(parseFloat("12.3#"));12.3
// console.log(Number(""));如果字符串是空的,则将其转化为0;
// console.log(isFinite(NaN));false
// console.log(Number.isFinite(NaN));false
// 字符串
// console.log("1"+NaN);1NaN
// console.log(1+NaN);NaN;

// let i=5;
// console.log(i.toString());
// let j=null;和undefined可以拼接一个空字符串或者下面的方法变为字符串,直接写是不能的,
// console.log(String(j),typeof String(j));null string
// 多行字符串
// let i=‘hello‘;
// let j=`hello`;
// let a=`hei
// is
// this`;
// console.log(a);
// let name = "xiaozhou";
// 需要加上一个${}占位符
// console.log(`hello,${name}`);hello,xiaozhou
// console.log(name.length);字符串的长度
// let a="xiaozhou";
// let b=`woshi${a}`;
// console.log(b);
// 简单数据类型不能再拆分,复杂的类型可以拆分为多个简单数据类型
// 复杂值:数组 对象
// let a=10;
// let b=a;
// console.log(a,b);10 10
// a=5;
// console.log(a,b);5 10
// let obj={
// name :‘xiaozhou‘,
// age : ‘20‘,
// gender:‘man‘
// };
// let obj2=obj;是将obj的地址赋值给了obj2;只有一个是复杂类型,才会将地址赋值,
// console.log(obj);
// console.log(obj2);
// obj.name=‘xiaoxiaozhou‘;
// console.log(obj);
// console.log(obj2);
// 栈:简单值和复杂值里面东西堆的地址 堆:复杂值存放东西的地方
// 简单值比的是指,复杂值比得是地址,地址不会相同
// 对于复杂值,可以为他添加属性和方法,也可以改变和删除属性和方法;但简单值不可以添加属性和方法
// let str = ‘test‘;简单值
// str.abc = true;不可以添加
// console.log(str.abc);undefined
// let obj = {};复杂值
// obj.abc = true;添加可以
// console.log(obj.abc);true
// 类型转化,在算数运算的时候,数据进行计算(-*/%);
// 有字符串的运算时候+是拼接
// 强制转换的技巧:
// 转换为字符串可以直接拼接上一个一个空字符串;
// 转换为bool类型在数据前面写一个!(非的意思)
// 转换为数值:数据类型*或者/1
// 强制转换
// console.log(‘100‘/1);
// console.log(typeof (‘100‘/1));
// 隐式转换
// console.log(‘100‘);只是隐式转换为100
// console.log(typeof(‘100‘));出来的类型还是字符串
// console.log(5/2);2.5 解释性
// console.log(5%2);1
// console.log(2**3);2的三次方
// let a = 2;
// let b = 10;
// let c = --a + b;
// let d = a + b;
// console.log(a,b,c,d);//1 10 11 11
// let a=10;
// --a;
// console.log(a);
// console.log("c" > "b");//true
// console.log("c" > "box");//true
// ==和===
// console.log(5=="5");true
// console.log(5==="5")false
// &&
// let a=true;
// let b=a&&c;
// console.log(b);会报错, 因为与&&的短路现象,第一个为真就进入第二个,返回第二个操作数
// let a=false;
// let b=a&&c;
// console.log(b);false, 在与&&的短路现象,第一个为假直接返回第一个操作数,不会进入第二个操作数
// let a=true;
// let b=a||c;
// console.log(b);true 在或||的短路现象中,第一个为真就直接返回第一个操作数,不会进入第二个操作数
// let a=false;
// let b=a||c;
// console.log(b);报错, 在或||的短路现象中,第一个为假的话会进入第二个操作数,直接返回第二个操作数







以上是关于js基础区别的主要内容,如果未能解决你的问题,请参考以下文章

jQuery与JS的区别,以及jQuery的基础语法

PHP基础与JS操作的区别

jquery和Js的区别和基础操作

jquery和Js的区别和基础操作

JS基础知识点——原始类型和对象类型的区别

jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jq