JavaScript 变量,数据类型
这篇笔记呢,咱记录下变量和数据类型的基础知识,因为两者有联系 所以放在一起记录
1 如何声明变量
变量声明使用var关键字,下面举一些变量声明的例子:
<!DOCTYPE html>
<html>
<head>
<title>learn javascript</title>
</head>
<body>
</body>
{{--js--}}
<script>
var name = "larger";
var age = 24, desire = "become web developers";
document.write(name + "<br />" + "age" + ":" + age + "<br />" + "desire" + ":" + desire);
</script>
</html>
2 数据类型
js中的数据类型有:
- Nunber:数字类型。
- String:字符串类型。
- Boolean:布尔类型。
- Array:数组。
- Object:对象。
- Null:空值。
- Undefined:未定义值。
下面咱一个一个的声明这些类型的变量。
2.1 数字类型
2.1.1 声明方式
<script>
var number1 = 5;
var number2 = (5 - 9) * 3;
var numberSum = number1 + number2;
document.write(number1 + "<br />" + number2 + "<br />" + numberSum + "<br />");
</script>
<script>
var Num = 3.88;
document.write(Num);
</script>
<script>
var num = new Number(3000); // 这样声明的话 它会是一个对象
document.write(typeof(num)); // Object
</script>
2.1.2 常用方法
NaN是一个非数字类型,用 isNaN 判断是否是非数字类型:
<script>
var num1 = new Number(3000);
var num2 = 123;
var noNum = NaN;
document.write(isNaN(num1) + "<br />" + isNaN(num2) + "<br />" + isNaN(noNum))
</script>
当数字长度达到边界时 就会变成一个特殊的类型:无穷大(Infinity)/负无穷大(-Infinity):
<script>
var num1 = 2/0;
if (num1 == Infinity){
document.write("数字已溢出"+num1);
}
</script>
用tostring方法来转换成字符串类型:
<script>
var num1 = 122;
var str1 = num1.toString(); // 没有传递参数默认是10进制。
var str2 = num1.toString(8); // 8进制
document.write(num1 + "<br />" + str1 + "<br />" + str2 + "<br />" + typeof(str1));
</script>
2.2 字符串类型
2.2.1 声明方法
<script>
var str1 = "something"; // 用双引号
var str2 = 'something'; // 用单引号
var str3 = "my name is 'K'";// 双引号中展示单引号
var str4 = 'my name is "K"';// 单引号中展示双引号
var str5 = 'my name is \'K\''; // 转义单引号中的单引号
</script>
2.2.2 常用方法
通过索引获取字符:
<script>
var str1 = "something"; // 用双引号
var char = str1[11]; // char也是string类型,如果越界的话char的类型为undefined
document.write(char);
</script>
通过length方法获取字符串长度:
<script>
var str = "something"; // 用双引号
var strlen = str.length; // 返回的strlen是数字类型。
document.write(strlen);
</script>
通过indexof来查找字符串:
<script>
var str = "something"; // 用双引号
var index1 = str.indexOf("thing"); // 返回4 从零计算
var index2 = str.indexOf("same"); // 返回-1 代表没找到 var str2 = "my name is k my age is 24";
var index3 = str2.indexOf("is"); // 返回8
var index4 = str2.lastIndexOf('is');// lastindexof是从后面开始找的 所以返回20
</script>
通过macth来匹配字符串:
<script>
var str = "something"; // 用双引号
var substr = str.match("sa"); // 如果能找到 返回查找的字符串 如果没有找到 返回null
document.write(substr);
</script>
替换一段字符串:
<script>
var str = "this is laravel";
str = str.replace("laravel", "javascript"); // 如果没有替换成功 返回原来的字符串。
document.write(str);
</script>
大小写的转换:
<script>
var str = "this is laravel";
str = str.toLocaleUpperCase(); // 转换为大写。
str = str.toLocaleLowerCase(); // 转换为小写。
</script>
转为数组:
<script>
var str = "this is laravel";
var array = str.split(" "); // 通过空格分隔。
</script>
2.3 数组
2.3.1 声明方法
<script>
var array1 = new Array();
array1[0] = "string type";
array1[1] = 55;
array1[2] = true; var array2 = new Array("alex", "k", 24); var array3 = ["alex", "K", 24];
</script>
2.3.2 访问数组中的元素
<script>
var array3 = ["alex", "K", 24];
// 可以通过索引获取
for (i = 0; i < array3.length; i++){
document.write(array3[i] + "<br />");
} // 也可以通过索引来修改值
for (i = 0; i < array3.length; i++){
array3[i] = "value" + i;
}
document.write(array3);
</script>
2.4 对象
对象中可以包含属性和方法,其实在js中 所有事物都是对象这其中包括上面的数字、字符串、数组。
2.4.1 创建方法
<script>
var object1 = new Object();
object1.name = "alex";
object1.skinColor = "white";
object1.sayHello = function() {
return "yo bro what's up";
};
document.write(object1.name + "<br >" + object1.skinColor + "<br >");
document.write(object1.sayHello());
</script>
↑ 这是第一种声明方法 在其中 我们使用objectName.valueName访问了对象中的元素,还有objectName.methodName访问了对象中的方法。
<script>
var object1 = {
name : "alex",
skinColor : "white",
sayHello : function() {
return "yo bro what's up";
}
};
document.write(object1.name + "<br >" + object1.skinColor + "<br >");
document.write(object1.sayHello());
</script>
↑ 这是第二种写法,比较常用 比第一种方法简单。
<script>
// 对象构造器
function Person(firstName, lastName, age){
this.firstName = firstName;
this.lastName = lastName;
this.age = age; this.changeName = changeName;
function changeName(name){
this.firstName = name;
} this.fullName = fullName;
function fullName(){
return this.firstName + this.lastName;
}
}
// 使用对象构造器创建对象
var myWife = new Person("*","haoyan",18);
myWife.changeName("Yang");
document.write(myWife.fullName());
</script>
↑ 这是第三种写法,对象构造器。
2.4.2 遍历对象
使用for in来遍历对象:
<script>
// 对象构造器
function Person(firstName, lastName, age){
this.firstName = firstName;
this.lastName = lastName;
this.age = age; this.changeName = changeName;
function changeName(name){
this.firstName = name;
} this.fullName = fullName;
function fullName(){
return this.firstName + this.lastName;
}
}
// 使用对象构造器创建对象
var myWife = new Person("*","haoyan",18);
for(variable in myWife){
document.write(variable + "<br />");
}
</script>
JavaScript 变量,数据类型的更多相关文章
- JavaScript 变量
一,JavaScript 变量(存储信息的容器) 与代数一样,JavaScript 变量可用于存放值(比如 x=2)和表达式(比如 z=x+y). 变量可以使用短名称(比如 x 和 y),也可以使用描 ...
- JavaScript变量和数据类型
变量 变量就是一个元素,类似于数学中的概念,用来指定表示一个对象.在JavaScript中,用来指定变量的关键字为var.当声明新变量时,可以使用关键词 "new" 来声明其类型 ...
- JavaScript 基础(一) - JavaScript的引入方式,JavaScript 变量命名规则,JS 的五种基本数据类型,ECMAScript 算数运算符,逻辑运算符
JavaScript的引入方式 直接编写 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- JavaScript的数据类型与变量
JavaScript数据类型 1.原始数据类型: 数值型,如十进制数.十六进制数.八进制数和特殊值(Infinity.NaN),注意:NaN不能和自身比较 字符串型,如定界符.转义符: 布尔类型. 2 ...
- JavaScript变量、数据类型、函数
#转载请留言联系 说在前面: JavaScript 是一种弱类型语言,javascript的变量类型由它的值来决定. JavaScript语句的末尾用 ; 结束.空格没有特殊意义. 1.JavaScr ...
- javascript变量的作用域
javascript变量的作用域 基本类型和引用类型 基本类型值指的是简单的数据段,而引用类型值指的是那个可能由多个值组成的对象 讲一个值赋值给变量时,javascript解析器首先要确定是基本类型 ...
- JavaScript 变量作用域
一. 变量声明 变量用var关键字来声明,如下所示: 变量在未声明的情况下被初始化,会被添加到全局环境. JavaScript执行代码时,会创建一个上下文执行环境,全局环境是最外围的环境.每个函数在被 ...
- JS-安全检测JavaScript基本数据类型和内置对象的方法
前言:在前端开发中经常会需要用到检测变量数据类型的需求,比如:判断一个变量是否为undefined或者null来进行下一步的操作,今天在阅读“编写高质量代码-改善JavaScript程序的188个建议 ...
- JavaScript变量声明
javascript是一种无类型语言,无类型只是意味着用户不必显示地声明变量的数据类型,但是javascript仍然将根据需要自动进行数据类型转换的. javascript的数据类型可以分为简单数据类 ...
随机推荐
- JS使用cookie实现DIV提示框只显示一次的方法
本文实例讲述了JS使用cookie实现DIV提示框只显示一次的方法.分享给大家供大家参考,具体如下: 这里运用JavaScript的cookie技术,控制网页上的提示DIV只显示一次,也就是当用户是第 ...
- D3.js系列——交互式操作和布局
一.图表交互操作 与图表的交互,指在图形元素上设置一个或多个监听器,当事件发生时,做出相应的反应. 交互,指的是用户输入了某种指令,程序接受到指令之后必须做出某种响应.对可视化图表来说,交互能使图表更 ...
- 安装SpringExt以查看schema文件
安装SpringExt以查看schema文件 学习了:https://blog.csdn.net/ltianchao/article/details/43565167 spring ext啊 mvn ...
- 倍福TwinCAT(贝福Beckhoff)基础教程7.1 TwinCAT 如何简单执行NC功能块 TC3
这一节我们介绍简单的NC运动(前面所讲的所有内容都是PLC编程和HMI的界面,算是基础知识),这里NC就是控制伺服电机的部分(当然还不是实际的NC轴,是虚拟轴,但是用到的函数都是一样,可以为后面的实际 ...
- [Unity3D]UI方案及制作细节(NGUI/EZGUI/原生UI系统)
转载请留下本文原始链接,谢谢.本文会不定期更新维护,最近更新于2013.09.17. http://blog.sina.com.cn/s/blog_5b6cb9500101bplv.html ...
- 让C#可以像Javascript一样操作Json DynamicJson
http://blog.csdn.net/lisenyang/article/details/52535314
- iOS 程序进入后台,包含用户上拉快捷菜单导致程序失去活跃的研究
今日在使用某App时候,突然发现上拉菜单.程序视频扔在播放,咦!引起了我的兴趣. 首先,列出两个方法, 第一个方法是AppDelegate的代理.当程序进入后台时候调用 - (void)applica ...
- Altium Designer 10 | 常用库及部分元件名中英文对照表
———————————————————————————————————————————— 常用库及部分元件名中英文对照表 - - - - - - - - - - - - - - - - - - - - ...
- iOS即时通讯输入框随字数自适应高度
代码地址如下:http://www.demodashi.com/demo/13210.html 前言 本人最近在研究socket与聊天界面的UI,在写聊天界面UI的时候是模仿微信的界面其中的文字输入框 ...
- Windows网络配置脚本
静态ip和动态ip切换 适用于:公司学校家庭的网络环境切换[请修改具体ip地址] ::ip for win7.bat::win8以上请用ipv4替换ip @echo off 设置为静态IP 设置为动态 ...