JavaScript 基本数据类型 函数

JavaScript 基本数据类型

JavaScript 的数据类型分为两种:
值类型(基本类型): 字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
引用数据类型: 对象(Object)、数组(Array)、函数(Function)。
ps: Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。

JavaScript 拥有动态类型

JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:
例:

var x;               // x 为 undefined
var x = 2;           // 现在 x 为数字
var x = "hello";      // 现在 x 为字符串

JavaScript 字符串

字符串是存储字符(比如 “hello world”)的变量。
字符串可以是引号中的任意文本。可以使用单引号或双引号:
例:

var str = "hello world";
var str = 'hello world';
//也可以在字符串中使用引号,只要不匹配包围字符串的引号即可:
var str = "It's OK";
var str = "He is called 'Amy'";
var str = 'He is called "Amy"';

JavaScript 数字

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:
例:

var x1 = 37.00;      //使用小数点来写
var x2 = 37;         //不使用小数点来写

极大或极小的数字可以通过科学(指数)计数法来书写:
例:

var y = 123e5;      // 12300000
var z = 123e-5;     // 0.00123

JavaScript 布尔

布尔型(Boolean)仅包含两个固定的值:true 和 false。其中,true 代表"真”,而 false 代表“假”。
例:

var x=true;
var y=false;

ps: 在 JavaScript 中,undefined、null、""、0、NaN 和 false 这 6 个特殊值转换为布尔值时为 false,被称为假值。除了假值以外,其他任何类型的数据转换为布尔值时都是 true。
使用 Boolean() 函数可以强制转换值为布尔值。
例:

console.log(Boolean(0));  //返回 false
console.log(Boolean(NaN)); //返回 false
console.log(Boolean(null)); //返回 false
console.log(Boolean("")); //返回 false
console.log(Boolean(undefined)); //返回 false

Undefined 和 Null

undefined 是 Undefined 类型的唯一值,它表示未定义的值。当声明变量未赋值时,或者定义属性未设置值时,默认值都为 undefined。
可以通过将变量的值设置为 null 来清空变量。
undefined 派生自 null,null 和 undefined 都表示空缺的值,转化为布尔值时都是假值,可以相等。
例:

console.log(null == undefined);  //返回 true

null 和 undefined 属于两种不同类型,使用全等运算符(===)或 typeof 运算符可以进行检测。
例:

console.log(null === undefined);  //false
console.log(typeof null);  //返回"object"
console.log(typeof undefined);  //返回"undefined"

ps: undefined 隐含着意外的空值,而 null 隐含着意料之中的空值。因此,设置一个变量、参数为空值时,建议使用 null,而不是 undefined。

typeof

使用 typeof 运算符可以检测数据的基本类型。
下面代码使用 typeof 运算符分别检测常用值的类型:

console.log(typeof 1);  //返回字符串"number"
console.log(typeof "1");  //返回字符串"string"
console.log(typeof true);  //返回字符串"boolean"
console.log(typeof {});  //返回字符串"object"
console.log(typeof []);  //返回字符串"object"
console.log(typeof function(){});  //返回字符串"function"
console.log(typeof null);  //返回字符串"object"
console.log(typeof undefined) ;  //返回字符串"undefined"
console.log(typeof num) ;  //返回字符串"undefined"

ps: typeof 运算符以字符串的形式返回 6 种基本类型之一;
把 null 归为 Object 类型,而不是作为一种特殊类型(Null)的值;
把 function(,){} 归为 Function 类型。即把函数视为一种独立的基本数据类型,而不是 Object 类型的一种特殊子类。

JavaScript 函数

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
function myFunction()
{
    alert("Hello World!");
}
</script>
</head>

<body>
<!-- 点击按钮调用方法弹出Hello World! -->
<button onclick="myFunction()">点我</button>
</body>
</html>

JavaScript 函数语法

函数就是包裹在花括号中的代码块,前面使用了关键词 function:
当调用该函数时,会执行函数内的代码。
可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。

function functionname()
{
    // 执行代码
}

ps: JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。

调用带参数的函数

在调用函数时,可以向其传递值,这些值被称为参数。
这些参数可以在函数中使用、可以发送任意多的参数,由逗号 (,) 分隔:

myFunction(argument1,argument2)

声明函数时,参数要作为变量来声明:

function myFunction(var1,var2)
{
代码
}

注意: 变量和参数必须以一致的顺序出现。第一个变量就是第一个被传递的参数的给定的值,以此类推。
函数很灵活,可以使用不同的参数来调用该函数,这样就会给出不同的消息。
函数参数只在函数内起作用,是局部变量。
例:

<script>
function myFunction(name,job){
    alert("Welcome " + name + ", the " + job);
}
//调用方法
myFunction('Harry Potter','Wizard');//"Welcome Harry Potter, the Wizard"
myFunction('Bob','Builder') //"Welcome Bob, the Builder"
</script>

带有返回值的函数

有时,我们会希望函数将值返回调用它的地方。
通过使用 return 语句就可以实现。
在使用 return 语句时,函数会停止执行,并返回指定的值。
语法

function myFunction()
{
    var x=5;
    return x;
    //函数的返回值为 5。
}

注意: 整个 JavaScript 并不会停止执行,仅仅是函数。JavaScript 将继续执行代码,从调用函数的地方。
函数调用将被返回值取代:

var myVar=myFunction();
//myVar 变量的值是 5,也就是函数 "myFunction()" 所返回的值。

也可以使返回值基于传递到函数中的参数:
例:

计算两个数字的乘积,并返回结果:

function myFunction(a,b)
{
    return a*b;
}
 //"demo" 元素的 innerHTML 将是6
document.getElementById("demo").innerHTML=myFunction(2,3);

仅希望退出函数时 ,也可使用 return 语句。返回值是可选的:

function myFunction(a,b)
{
    if (a>b)
    {
        return;
    }
    x=a+b
}
//如果 a 大于 b,则上面的代码将退出函数,并不会计算 a 和 b 的总和。

局部 JavaScript 变量

在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。

全局 JavaScript 变量

在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。

JavaScript 变量的生存期

JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。

向未声明的 JavaScript 变量分配值

如果把值赋给尚未声明的变量,该变量将被自动作为 window 的一个属性。

usename = "Addmin";
//将声明 window 的一个属性 usename。
var var1 = 1; // 不可配置全局属性
var2 = 2; // 没有使用 var 声明,可配置全局属性
console.log(this.var1); // 1
console.log(window.var1); // 1

注意: 如果没有定义变量使用console.log()输出会报错变量未定义,只有在typeof()里不声明变量调用不会报错,其他情况下都会报错。

发布了24 篇原创文章 · 获赞 0 · 访问量 757

猜你喜欢

转载自blog.csdn.net/weixin_45846263/article/details/103434691