js基础知识

<script>的属性:
type
src
charset
async = “async”异步,下载完后立即执行(可以省略但是不建议省略)
defer =”defer”异步,下载完没有立即执行,等到页面的所有代码都加载完解析和现实后开始执行

变量声明:
可以直接不声明直接赋值使用:a = 100;
建议使用:var a = 100;
(声明后存放到内存的栈中,js不可以直接操作内存地址,有别于c)

数据类型:
简单类型:
Number、String、Boolean、Null、Undifined//声明变量戴氏为赋值
复杂(引用)类型:
Object、Array、Date等

查看当前变量的数据类型:
typeof (name) 或者 typeof name

字面量:(弱语言脚本语言多用的逆推方法:鸭子理论[他的叫声像鸭子就可以说他是鸭子])我们js没有复杂的数据类型进行初始化,我们给其赋值时的数据类型便决定了其数据的类型。

注意:不要判断两个浮点数是否相等,var reasult = 0.1 + 0.2 //这个值不是0.3 而是0.300000000000000004 永远都不会与0.3相等 0.07*100 的结果为7.00000000000001
转换成整数进行比较

数值范围

内存是有限的:
最小值Number.MIN_VALUE = 5e-324
最大值Number.Max_value=1.7976031348623157e+308
无穷大: Infinity
无穷小: -Infinity

数值检测:
NaN非数值(Not a Number)

consloe.log(parseInt("abc"));//打印NaN
consloe.log("abc"/10);//打印NaN
isNaN()//判断是非为数字

字符串可以是“”也可以是‘ ’
获取字符串的长度为.length

console.log("\"abc\"");//输出"abc"

字符串是不可变的

var str = "hello";
str = str + "world";
console.log(str);
//打印的是helloworld 但是不是同一个栈地址,地址并没有被重用,而是新开辟了一块内存区域将str现在的值方了进去,原来的str的内存由于没有被访问的机会,而被垃圾回收机制回收内存空间(回收时间不确定)
str = '';
for(var i=0; i<10000; i++){
    str +=i;
}
//内存大量无意义的消耗,而且循环之中垃圾回收是没有执行的(解决方案数组array)

Boolean类型的字面量只有两个,但是js的所有类型都可以与这个Boolean类型有等价的值

var reasult = Boolean("a");//true
var reasult = Boolean(100);//true
var message = 100;
if(message){}//if会帮我们进行好转换

转换为false的:
空字符串、0、NaN、null、undefined(共同特点是没有具体的值)

//使用if直接判断是否为空值
var a = "abc"
if(a){

}else{

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值