您的位置:首页 > Web前端 > JavaScript

JS基础知识(补)

2017-03-30 19:16 281 查看
2017年3月30日 19:15:00

变量

程序都是在内存中运行;

只要在程序中临时存储诗句,都要放在变量中

任何程序都是IPO:Input Process Output 读取,处理,存储 数据 数据 数据

声明:在内存中开辟一个存储空间


常亮:一旦创建,值不可改变的特殊变量

const pi = 3.1415926; 定义一个常量

JS是弱类型:变量本身没有类型,只有变量中的值才有数据类型;

弱类型:1.变量声明时不需声明数据类型,

今后可能保存任何类型数据;

2.数据类型见可以自动类型转换

原始类型:数据保存在变量本地!

< ================================================== >

Number类型:表示一切用于比较或数据计算的数字;

字符串类型,一般不要改变,如果改变就创建新字符串,抛弃旧字符串

数据类型转换-->
隐式转换:程序自动转换数据类型;
+:只要有字符串参与,最终结果一定是字符串;哪怕是字符串+true/false,就是'stringtrue';
如果没有字符串,一切都为数字计算;true-->1;false-->0

强制转换:调用程序的函数手动转换类型
str.toString();------> 变量.toString();
<   ========================    >
Numner(xy); ---->转Number类型;
<   ========================    >
patseInt(‘666’);  --->转整数类型;
例:var num = parseInt("str");
从第一个字符向后读,如果获取数据就往后读取,
如果第一个字符不是数据,就说明不能转--->NaN;
如果第一个是空格,忽略;
NaN: Not a Nunber;
只能读取整数parseInt("22.5"); ---> 22
如果字符串为空,则返回NaN;
<   ========================    >
parseFloat("222.2222")  ---->  转小数类型
用法和parseInt 一样,区别就是它能读出小数点;
但是只能读取一个小数点,如果是2.2.2.2;---->2.2
如果是.55;那么JS会默认为前面有一个0---->0.55;
如果是'222.0';那么parseFloat也会知道这是个整数---> 222;

/*         ==================       */
凡是通过页面获得的数据,都是字符串,必须先转换再计算;
/*         ==================       */

只要比较不确定的类型,又不希望自动类型转换时,就用===
NaN和任何数字做比较,永远返回false;
isNaN(x):这是一个方法,用于判断一个数组是否为NaN;
如果是NaN返回true,不是则返回false;
如果是数字返回false,如果不是数字返回true;
alert(isNaN(''));  false 是数字,在比较运算符会自动类型转换,结果转换为0;
结论是在isNaN 中,能自动转换为数字的,结果都是false,如果不能自动转换为数字,都返回false;
isNaN(NaN);返回true ,JS isNaN 设计的本意就是用来判断是不是non a number 的,所以肯定是true;

**作用域:一个变量的可用范围!**
函数作用域:也叫局部作用域:声明在方法内部的变量或方法的参数变量都叫局部变量;
全局作用域:直接声明在全局作用域中的变量,叫全局变量,
window对象:是整个网页的全局作用域对象;
值传递:将一个变量的值赋值给另一个变量,其实将原变量中的值,复制一份给新变量;

注意:对为声明的变量赋值:JS会自动在全局创建该变量!
!!!!!!!!!!!!!!!极力不推荐;

null:一个对象没有指向任何数据;
何时使用null:主动释放对象!主动释放的对象不能被找回;

**垃圾回收:js引擎自动销毁不再被引用的对象!**
垃圾回收程序:随JS程序运行而后台同时运行!
相当于饭店吃饭,服务员会在你吃饭之后回收!;


@@@@@@@@@@@@

引用类型:都在存储在堆里面,对应的一个值映射到栈里面
用的时候对应栈里面去找;

重新赋值:将新对象地址保存到原变量地址中替换地址,旧地址释放,等待垃圾回收;

全局变量的生命周期和网页的生命周期一样;

局部变量的生命周期和当前作用域环境栈有关,作用域创建,局部变量一同创建,作用域结束,局部变量一同消失;


@@@@@@@@@@@@@@@@@@@@@

冒泡排序:从第一个开始,从小到大排序,小数放前,大数放后;

var arr = [1,5,2,74,9,5,1,845,123,4];

for(var i = 0;i
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: