js的本质就是处理数据(数据来自于后台的数据库)
所以变量就起到一个临时储存数据的作用
ECMAscript制定了js的数据类型
数据类型 分基本数字类型,和引用数字类型
基本数字类型 (就是简单的赋值)
字符串 (string)
数字(Number)
布尔(Boolean)
空(null)
undefined
引用数字类型 (他将内存地址复制给变量)
对象(object)分为
数组 函数 json array function 日期 数字对象等等。。。
数组写法:var s=["hello",123,true,"张三"] []数组 有基本的数据类型组成
var json={"name":"张三","age":23} {}json
栈内存就是环境
堆内存就是代码、数据的(仓库)
js代码执行前,浏览器会给一个环境叫window 全局作用域
alert() prompt() confirm() 都是方法
怎样找到这个方法,属性归属(两种情况)
1.arr.find() find()是arr的的方法
2.没有带点 在谁的环境下是谁的
在window下的方法和属性,我们把他叫全局方法和属性(在计算机的方法任何模块都可以使用)
判别变量的数据类型 typeof 变量名 (返回的是数据类型)
js
1.eval() 将字符串转化为脚本代码
带=号的都叫表达式
表达式可以叫语句,语句不可以叫表达式
eval() 必须填东西,并且必须是字符串
将字符串转化成对应的js代码
eval(“alert(12)”) 输出的结果是alert(12)
eval(“()”) 如果eval方法中带小括号,就会强制的将括号里面的表达式转换成对象,而不是作为语句来执行,
从后台拿到的数据都是字符串,不管长成什么样
var a="[12,23]"; (数组形式的字符串)
var a="12" (数字形式的字符串)
“ ’ ‘ ” 双引号里面必须是单引号
2.isNaN() is not a number (具有隐式转换的能力)
当()里面的东西不是数字的时候返回true,是数字返回false
隐式转换的有哪些?
- (减) * (乘) / (除) == (双等号) isNaN()
3.Number() 将东西强制转换成数字
var a=true; false是0 true是1
console.log(Number(a))
4.parseFloat (浮点型 ) (上次提到过)
5.parseInt( 整型)