变量是用于存储信息的"容器"。
例如:用字母来保存值【age = 18】,这里的 age 被称为变量。
JS为弱类型语言(有数据类型,只是不需要严格规定),常用变量类型(字符串、数字、布尔值、对象等)
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
字符串是存取字符的变量
var m_name = "小明";
var w_nam = '小红';
var say = "Hello 'World'"; //输出 Hello 'World'
细心的小伙伴应该发现了这两个字符串是有点区别的,第一个小明是用的双引号,第二个小红是用的单引号,在JS中无论是用双引号还是单引号都是字符串;当然也可以在字符串中使用引号,只要不匹配包围字符串的引号即可
JS中只有一种数字类型就是number;数字可以带小数点,也可以不带。如果遇到很大或者很小的数字,我们通常采用“科学计数法”。
var age=18;
var score=99.9;
var y=123e4; // 1230000
var z=123e-4; // 0.0123
布尔只有两个值(true、false)表示真和假,在条件判断中我们会经常使用。
var t=true;
var f=false;
object(引用类型:object、array、function)
var person={
name : "小明",
age : "6",
height : 132
};
//第一种:先声明,再赋值
var student=new Array();
student[0]="马小跳";
student[1]="康康";
student[2]="迈克";
//第二种:声明的同时赋值
var cars = new Array("宝马","奔驰","兰博基尼");
var arr = new Array(1,"1dds",true);
//第一种:无参函数
function functionname()
{
// 执行代码(可实现的功能)
}
//第二种:有参函数
function functionname(var1,var2)
{
//执行代码(可实现的功能)
}
//第三种:有返回值的函数
function functionname()
{
var x=5;
return x; //返回 x
}
undefined 这个表示变量只是声明了,并没有进行赋值。
var de;
这里的变量 de 类型就是undefined
null 这个表示变量不仅声明了,而且赋值了,但是赋的就是null
var n=null;
你以为这里的变量 n 类型就是null了吗?其实这里的 n 它的类型是 object,但是这个我还真解释不清楚是为什么了,就作为一个特殊的规定吧。
既然JS是弱类型语言,不需要定义类型,那么我们怎么知道一个变量的类型是什么呢?这里就要引入一个方法:typeof(变量名)可以查看变量类型
parseInt("123"); //123
parseInt("123.4"); //123
parseInt("123abc123"); //123
parseInt("abc123"); // NaN
parseInt("11",16); //将11视为16进制,转换为十进制后输出17
parseFloat("123"); //123
parseFloat("123.4.5"); //123.4
Number("123"); //123
Number("123.4"); //123.4
Number("123a"); // NaN
此外Number可以转换布尔值和null
Number(true); //1
Number(false); //0
Number(null); //0
Number(""); //0
var a = 1;
var b = String(a);
console.log(b); //输出字符串"1"
var c ;
console.log(String(c)); //输出字符串"undefined"
var a = 1;
var b = a.toString();
console.log(b); //输出字符串"1"
var c;
console.log(c.toString()); //报错
除了以下这些情况返回 false,其余情况都是返回 true
Boolean();
Boolean(0);
Boolean(null);
Boolean("");
Boolean(undefined);
Boolean(false);
Boolean(NaN);