重头再学JS(1)— 数据类型和函数

弱类型动态解释型语言

弱类型:类型间转换不需要显示进行,随着环境的不同可自动变化类型。

解释型:JS引擎执行代码是逐行解释每一句源码,所以 JavaScript语言 归为 “解释型语言”。

数据类型

简单数据类型

简单数据类型 说明 默认值
Number 数值类型,包含 整型值和浮点型值,如 21、0.21 0
String 字符串类型,如 ‘James‘ ‘‘
Boolean 布尔值类型,如 true 、false,等价于 1 和 0 false
Undefined var a; 声明了变量a 但是没有给值,此时 a = undefined undefined
* Null 表示空的对象 null

Number

无穷大:Infinity ,代表无穷大,大于任何数值

任何 正值乘以 Infinity 为 Infinity

任何数值(除了Infinity 和 -Infinity)除以 Infinity 为 0

无穷小:-Infinity ,代表无穷小,小于任何数值

非数值:NaN ,Not a number,代表一个非数值

isNaN():任何涉及到NaN的操作都会返回NaN,NaN与任何值都不相等,包括NaN本身

数值转换

Number():

parseInt(): 忽略字符串前面的空格,一直到找到第一个非空字符

转换空字符串会返回NaN

这个函数提供了第二个参数,转换时使用基数(即多少进制)

parseFloat():

只能解析十进制值

String

ES中的字符串是不可变的,要改变某个变量保存额度字符串,首先要销毁原来的字符串,然后在用另一个包含新值的字符串填充该变量。

var a = ‘java‘;
a = a + ‘script‘;
// 变量a开始是包含字符串“java”,第二行把a的值重新定位为“java”和“script”的组合,实际过程如下:
// 首先先创建一个能容纳10个字符的新字符串
// 然后在这个字符串中填充java和script
// 最后销毁原来的字符串java和script,因为这两个字符串已经没用了,但是这个过程是在后台发生的,而这也是某些街版本浏览器中拼接字符串时很慢的原因
a.toString()
// 在调用数值Number的toString()方法时,可以传递一个参数:输出数值的基数,进制数
num.toString(16)

String(value)
// 在不知道转换的值是什么类型的时候,可以用转型函数String(),
// 如果这个值是null时,则返回null
// 如果这个值是undefined是,则返回undefined

Boolean

数据类型 转换为true 转换为false
boolean true false
string 任何非空字符串 空字符串
Number 任何非零数 0和NaN
Undefined n/a不适用 undefined
Boolean()函数
将布尔字符串转成布尔值
Boolean(‘true‘);

Undefined

声明未赋值:undefined

当typeof返回为undefined是,这个变量可能声明,也可能未声明!

Null

null值表示一个空对象指针,这也正是使用typeof操作符检测null值时返回“object”的原因

alert(null == undefined) // true

实际上,undefined 值是派生自null值的

声明一个空对象时,obj = null

复杂数据类型

object

一组数据和功能的集合

函数

ES中的参数在内部使用一个数组来表示的;在函数中可以使用argument对象那个来访问这个数组。

但是,argument对象只是与数组相似,argument[0] argument.length

return 关键字

  • 作用:

    • 可以终止函数的执行
    • 可以 将数据返回给调用者,调用者 可以用变量接收函数返回的结果

原文地址:https://www.cnblogs.com/houfee/p/9828454.html

时间: 2024-10-10 22:01:08

重头再学JS(1)— 数据类型和函数的相关文章

重头再学JS(3)— 引用类型

Object 获取字符串中的单个字符 字符串.charAt(index);字符串[index];      // 推荐使用 字符串的拼接 和 截取 // 拼接字符串.concat(str1,str2,str3...);拼接符 +     //推荐使用?// 截取字符串.slice(star,end); 查询字符是否在字符串中存在 字符串.indexOf(); 字符串.lastIndexOf(); 去除空白符 字符串.trim();  // 去除字符串两边的空格 字母字符大小写转换 字符串.toU

JS的数据类型判断函数、数组对象结构处理、日期转换函数,浏览器类型判断函数合集

工具地址:https://github.com/BothEyes1993/bes-jstools bes-jstools 100多个基础常用JS函数和各种数据转换处理集合大全,此工具包是在 outils 的基础上,加上个人平时收集的代码片段进行的二次整合 Browser Support 7+ ? Latest ? Latest ? Latest ? Latest ? 6.1+ ? Installing npm install bes-jstools --save Using nodejs con

数据类型回顾——函数传参和实际应用—JS学习笔记2015-6-5(第49天)

函数传递参数 参数=JS的数据类型=>数字.字符串.布尔.函数.对象.未定义 传递有名字的函数,直接传递函数名就可以了. fn1(100, 'px'); function fn1(a, b){ // alert( a+b ); // 此时参数是数字和字符串 } fn2('miaov'); fn2('妙味课堂'); function fn2(a){ // alert(a.charAt(2)); // 会返回i,课 这里的参数是字符串,拥有字符串的属性特征,比如这里调用了charAt } 参数是匿名

再学Java 之 形参个数可变函数

自Java 5后,Java允许定义形参个数可变的方法,从而允许运行过程中,为方法指定不确定个数的形参. 其定义方法的格式如下: void function_name ( type ... variables){ //对variables数组进行操作 } 在上面格式中,系统将输入的参数全部存储到variables数组中.也就是说,下面的定义方式,其实是相同的: void function_name ( type ... variables); void function_name ( type[]

JQuery之JQuery的版本 JQuery入门 属性获取 JQuery就绪函数 JS文档就绪函数和JQuery文档就绪函数的区别 JS对象和JQuery对象的区别 关于$的使用 多个JS库的冲突解决方案

JQuery的版本 JQuery入门 属性获取 JQuery就绪函数 JS文档就绪函数和JQuery文档就绪函数的区别 JS对象和JQuery对象的区别 关于$的使用 多个JS库的冲突解决方案 JQuery的版本 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jQuery的版本</title> <

underscore.js中的节流函数debounce及trottle

函数节流   throttle and debounce的相关总结及想法 一开始函数节流的使用场景是:放止一个按钮多次点击多次触发一个功能函数,所以做了一个clearTimeout setTimeout函数 clearTimeout(cancelTimer); cancelTimer =setTimeout(function(){ switchControl.switchAciontFactory(view, conf); },300) 代码的意思就不做多说了,实际上我无意间实现了一个debou

再学C/C++ 之 浅析gdb的-g选项

浅析gdb的-g选项 准备 gdb是Linux下学习C/C++最常用的debug工具.要使用这一强大工具,必须在编译时加上-g选项,生成的目标文件才可以用gdb进行调试. 如,先创建一个test.c文件,内容为: 1 #include <stdio.h> 2 3 int main(void){ 4 int a[2]; 5 a[0] = 1; 6 a[1] = 2; 7 return 0; 8 } 使用编译语句,进行编译: gcc -g test.c -o test.out 浅析-g选项 -g选

JS封装cookie操作函数实例(设置、读取、删除)

本文实例讲述了JS封装cookie操作函数.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 /*设置cookie*/ function setCookie(name, value, iDay) {   var oDate=new Date();   oDate.setDate(oDate.getDate()+iDay);   document.cook

再学Java 之 Integer 包装类缓存

前言:本博文将涉及的Java的自动装箱和自动拆箱,可以参考 这篇文章 和 官方教程 ,这里不再赘述. 首先,先看一个小程序: public class Main { public static void main(String[] args){ Integer i1 = new Integer(1); Integer i2 = new Integer(1); System.out.println(i1 == i2); Integer i3 = 1; Integer i4 = 1; System.