javascript基础编程の变量、对象、数据类型及函数
在web标准中。网页由结构、表现形式和行为三个部分组成。
结构标准---->XHTML;
表现形式标准----->CSS;
行为标准----->javascript;
javascript是一种专门设计用来给网页添加交互性的编程语言,最初由Netscape公司开发。最后提交给了欧洲计算机制造商协会(ECMA)。
一、javascript特点:
1、javascript是一门解释型语言,这意味着javascript代码不须要预先编译就能够运行。
2、javascript不能脱离浏览器独立执行
3、javascript不同意读写用户的文件(cookie除外),採用同源策略。仅仅同意来自同样域的交互。
二、javascript能做什么
1、给程序猿一种全面控制HTML网页中全部元素的能力;
2、能够在HTML网页中放入动态文本;
3、响应用户在使用网页中产生的事件
4、校验用于输入的数据
5、检測訪问者的浏览器
6、创建cookie
三、javascript加入到XHTML网页中的方式
1、内嵌
2、外联
3、事件引入
事件引入。简单演示样例:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
</head>
<body>
<form action="#" method="get">
<input type="button" value="press me" onclick="alert('hello world');"/>
</form>
</body>
</html>
四、变量
javascript是弱类型的。定义变量时无需明白的数据类型声明,并且变量并一定要初始化
var test1 = 'hi',test2='hi';
var sex = 'male',age=12;
var test;
五、数据类型
分数字型和非数字型
非数字型:undefined、null、NaN、boolean、string
数字型:number
1、类型特征:
(1)、undefined不是报错。它也是一种类型,而且这样的类型的值就是undefined,如
var temp;
temp的类型为undefined。值也为undefined;
(2)、当变量未声明后者函数无返回值的时候,都会体现为undefined。
(3)、使用一个未声明的变量将会报错;
(4)、typeof不区分未赋值的变量和未声明的变量;
var temp1;
alert(typeof temp1);//undefined
alert(typeof temp2);//undefined
alert(temp2==undefined);//报错
(5)、undefined是由null派生出来,因此javascript把它们定义为相等;
alert(null==undefined);//true
(6)、NaN不能用于算术计算。而且它与自身不相等
2、数据类型转换
javascript中一切数据事实上都是一个伪对象,这意味着实际上它们具有属性和方法。
(1)、将boolean值、数字值转换为字符串最简单的方法toString()。
var bFound = false;
alert(bFound.toString());//'false'
var iNum = 10;
var gNum = 10.0;
alert(iNum.toString());//'10'
alert(gNum.toString());//'10'
(2)对于非数字的原始值,javascript提供了parseInt()和parseFloat()方法转换为数字的方法。
仅仅有对包括数字的string类型调用这些方法,它们才干正确执行;对其它类型或纯字符类型返回的都是NaN。
parseInt('1234blue');//1234
parseInt('0xA');//10
parseInt('22.5');//22
parseInt('blue');//NaN
parseFloat('1234blue');//1234.0
parseFloat('0xA');//0
parseFloat('22.5');//22.5
parseFloat('22.345');//22.345
parseFloat('0908');//908
parseFloat('blue');//NaN
(3)强制转换
使用强制转换能够訪问特定类型的值。即使它是还有一种类型的。
Boolean(value)。
Number(value);
String(value);
当要转换的值是至少有一个字符的字符串、非零数字或对象时,Boolean()函数将返回true。假设该值是空字符串、数字0、undefined或null,它将返回false。能够用以下的代码段測试Boolean型的强制类型转换。
Boolean('');//false
Boolean('hi');//true
Boolean(100);/true
Boolean(null);//false
Boolean(0);//false
Boolean(new Object());/true
Number()的强制类型转换与parseInt()和parseFloat()方法处理方式相似,仅仅是它转换的是整个值。而不是部分值。
比如:
parseInt('4.2.6');//4
parseFloat('4.2.6');//4.2
Number('4.2.6');//NaN
由于整个字符串值不能转换为数字,所以为非数(NaN)。
假设字符串的值能被完整的转化,Number()将推断调用parseInt()还是调用parseFloat()方法。
Number(false);//0
Number(true);//1
Number(undefined);//NaN
Number(null);//0
Number('2.5');//2.5
Number('56');//56
Number('2.2.7');//NaN
Number(new Object());//NaN
Number(100);//100
String()是最简单的,由于它能够把不论什么值转换为字符串。要运行这样的强制类型转换,仅仅须要调用作为參数传递进来的值得toString()方法。
String(null);//'null'
String(1);//'1'
String(false);//'fasle'
String(undefined);//'undefined'
3、引用数据类型
原生对象:由javascript提供的,独立于宿主环境的对象,简单点说。就是在ECMA-262标准中定义的对象。
它包含Object、Function、Boolean、Date、Number、Error....
内置对象:内置对象实际上也是原生对象的一种。可是与原生对象不同的是。内置对象不须要显式地初始化,由于它已经初始化了。
ECMA-262仅仅定义了两个内置对象:Globle和Math;
宿主对象:与浏览器有关的对象。
全部BOM和DOM对象都属于宿主对象。
4、javascript类
(1)object类
object类具有下面属性:
constructor-----对创建对象的函数的引用。
对于Object类,该引用指向原生的object()函数;
prototype-----对该对象的对象原型的引用。
对于全部的类。它默认返回Object类的一个实例。
Object还有下面方法:
hasOwnProperty(property)------推断对象是否具有某个特定的属性。必须用字符串指定该属性。
isPrototypeOf(boject)------推断该对象是否为还有一个对象的原型。
propertyIsEnumerable(property)------推断给定的属性能否够用for...in语句进行枚举。
toString()------返回对象的原始字符串表示。
valueOf()------返回最适合该对象的原始值。
(2)原始数据类型包装器类
javascript中的Boolean、Number、String类各自是javascript原始数据类型Boolean、Number、String的包装器类。
(3)Array类
var colors = new Array('red','blue','yellow');
colors[25]='black';
alert(colors.length);//26
当中下为3----24的值为null。
(4)Global类
Global类是javascript中最特别的对象,它不须要声明和初始化。
eval()方法是javascript中最强大的方法,该方法就像整个javascript的解释程序。接受一个參数,即要运行的javascript字符串;
eval(alert('hello'));等价于alert('hello');//hello;
var msg = 'hello world';
eval('alert(msg)');//msg
eval("function go(){'say hi'}");
go();//say hi
(5)instanceof运算符
在使用typeof运算符时採用引用类型存储值会出现一个问题,不管引用的是什么类型的对象,它都返回“object”。而与typeof不同,instanceof方法要求开发人员明白地确认对象为某个特定的类型。
var o = new String('hello world');
alert(o instanceof String);//true
六、函数
假设函数无明白的返回值。或调用了没有參数的return语句,那么它真正返回的值是undefined。
javascript基础编程の变量、对象、数据类型及函数的更多相关文章
- JavaScript 基础知识 变量与数据类型
一.区分大小写 JS中一切(变量/函数名/操作符)都是严格区分大小写的 二.标识符 变量.函数.属性的名字以及函数的参数 命名规则:1.第一个字符可以是字母.下划线.美元符号$ 2.其他的字符可以是字 ...
- Java编程基础——常量变量和数据类型
Java编程基础——常量变量和数据类型 摘要:本文介绍了Java编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...
- javascript系列之变量对象
原文:javascript系列之变量对象 引言 一般在编程的时候,我们会定义函数和变量来成功的构造我们的系统.但是解析器该如何找到这些数据(函数,变量)呢?当我们引用需要的对象时,又发生了什么了? 很 ...
- 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果
查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...
- JavaScript | 基础(变量/引用/转换/函数)
———————————————————————————————————————————— 变量 全局变量:在函数体外声明,全局可以使用 局部变量:通过关键字var来声明 变量类型 <script ...
- 初学JavaScript从入门到放弃(一)JavaScript介绍、变量、数据类型
一.JavaScript介绍 1.JavaScript:轻量级的客户端脚本语音 2.目前js已经不仅仅是客户语音,基于NODE可以做服务器端程序,所以Javascript是全栈编程语音 3.js及部分 ...
- javascript基础语法——变量和标识符
× 目录 [1]定义 [2]命名规则 [3]声明[4]特性[5]作用域[6]声明提升[7]属性变量 前面的话 关于javascript,第一个比较重要的概念是变量,变量的工作机制是javascript ...
- Javascript一(变量,数据类型,正则表达式,数据,语句)
本文章适合具有一定程序编程语言基础的人士阅读,最好学完Java基础再来阅读本文章更容易理解语言初学者会看起来比较费劲,不易理解 一.导入脚本 在html导入Javascript的格式是: <sc ...
- JavaScript中的变量及数据类型
转自:http://blog.csdn.net/mygis2005/article/details/7375419 JavaScript是一种弱类型的语言,变量名.操作符和方法名都区分大小写. 1.变 ...
随机推荐
- Codeforces 776C - Molly's Chemicals(思维+前缀和)
题目大意:给出n个数(a1.....an),和一个数k,问有多少个区间的和等于k的幂 (1 ≤ n ≤ 10^5, 1 ≤ |k| ≤ 10, - 10^9 ≤ ai ≤ 10^9) 解题思路:首先, ...
- IEEEXtreme 10.0 - Playing 20 Questions with an Unreliable Friend
这是 meelo 原创的 IEEEXtreme极限编程大赛题解 Xtreme 10.0 - Playing 20 Questions with an Unreliable Friend 题目来源 第1 ...
- Docker —几个概念的理解
本文从一种使用场景来引出docker,并讨论了什么是镜像,容器,仓库,以及docker的相关概念. 试想一种使用场景: 我的wordpress 博客网站现在部署在阿里云服务器上,但是在后期的使用中我有 ...
- 洛谷P1486 [NOI2004]郁闷的出纳员 [STL,平衡树]
题目传送门 郁闷的出纳员 题目描述 OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反 ...
- XV6操作系统代码阅读心得(一):启动加载、中断与系统调用
XV6操作系统是MIT 6.828课程中使用的教学操作系统,是在现代硬件上对Unix V6系统的重写.XV6总共只有一万多行,非常适合初学者用于学习和实践操作系统相关知识. MIT 6.828的课程网 ...
- python配置libsvm
转载博文:win10(64-bit) + python3.6.0(64-bit) 配置libsvm-3.22 https://blog.csdn.net/weixin_35884839/article ...
- LongAdder & AtomicInteger
JDK8 推荐 LongAdder替代 AtomicInteger, AtomicInteger内部是实现使用 (网友使用jad反编译源码 参考 http://ifeve.com/enhanced- ...
- Xamarin 2017.9.13发布更新
Xamarin 2017.9.13发布更新 Visual Studio 2017更新到15.3.4.其中,Xamarin.Visual更新到4.6.3.4;Xamarin.iOS更新到10.12.3 ...
- Unity 2D游戏开发教程之游戏精灵的开火状态
Unity 2D游戏开发教程之游戏精灵的开火状态 精灵的开火状态 “开火”就是发射子弹的意思,在战争类型的电影或者电视剧中,主角们就爱这么说!本节打算为精灵添加发射子弹的能力.因为本游戏在后面会引入敌 ...
- openvpn部署centos7
[root@openvpn ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 安装包 yum upgrade yum i ...