在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基础编程の变量、对象、数据类型及函数的更多相关文章

  1. JavaScript 基础知识 变量与数据类型

    一.区分大小写 JS中一切(变量/函数名/操作符)都是严格区分大小写的 二.标识符 变量.函数.属性的名字以及函数的参数 命名规则:1.第一个字符可以是字母.下划线.美元符号$ 2.其他的字符可以是字 ...

  2. Java编程基础——常量变量和数据类型

    Java编程基础——常量变量和数据类型 摘要:本文介绍了Java编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...

  3. javascript系列之变量对象

    原文:javascript系列之变量对象 引言 一般在编程的时候,我们会定义函数和变量来成功的构造我们的系统.但是解析器该如何找到这些数据(函数,变量)呢?当我们引用需要的对象时,又发生了什么了? 很 ...

  4. 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...

  5. JavaScript | 基础(变量/引用/转换/函数)

    ———————————————————————————————————————————— 变量 全局变量:在函数体外声明,全局可以使用 局部变量:通过关键字var来声明 变量类型 <script ...

  6. 初学JavaScript从入门到放弃(一)JavaScript介绍、变量、数据类型

    一.JavaScript介绍 1.JavaScript:轻量级的客户端脚本语音 2.目前js已经不仅仅是客户语音,基于NODE可以做服务器端程序,所以Javascript是全栈编程语音 3.js及部分 ...

  7. javascript基础语法——变量和标识符

    × 目录 [1]定义 [2]命名规则 [3]声明[4]特性[5]作用域[6]声明提升[7]属性变量 前面的话 关于javascript,第一个比较重要的概念是变量,变量的工作机制是javascript ...

  8. Javascript一(变量,数据类型,正则表达式,数据,语句)

    本文章适合具有一定程序编程语言基础的人士阅读,最好学完Java基础再来阅读本文章更容易理解语言初学者会看起来比较费劲,不易理解 一.导入脚本 在html导入Javascript的格式是: <sc ...

  9. JavaScript中的变量及数据类型

    转自:http://blog.csdn.net/mygis2005/article/details/7375419 JavaScript是一种弱类型的语言,变量名.操作符和方法名都区分大小写. 1.变 ...

随机推荐

  1. HDU 3342 Legal or Not(拓扑排序判断成环)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3342 题目大意:n个点,m条有向边,让你判断是否有环. 解题思路:裸题,用dfs版的拓扑排序直接套用即 ...

  2. linux中的vim 编辑一行内容,如何使光标快速移动到行首和行尾以及行中间某处啊?

    光标定位G 移至行行首nG 移至第n行行首n+ 移n行行首n- 移n行行首n$ 移n行(1表示本行)行尾0 所行行首$ 所行行尾^ 所行首字母h,j,k,l 左移移移右移H 前屏幕首行行首M 屏幕显示 ...

  3. 用tomcat配置https自签名证书,解决 ios7.1以上系统, 苹果inHouse发布

    用tomcat配置https自签名证书,解决 ios7.1以上系统苹果inHouse发布不能下载安装的问题教程,话说,我其实最讨厌配置某某环境了,因为某一个小环节一旦出错,你的所有工作往往会功亏一篑, ...

  4. ActiveMQ objecmessage 无法调用问题。

    http://activemq.apache.org/objectmessage.html

  5. 几道坑人的PHP面试题 试试看看你会不会也中招

    这篇文章主要介绍了几道坑人的PHP面试题,试试看看你会不会也中招,这些题目都用了一些障眼法,需要你有一双火眼金睛哦,需要的朋友可以参考下 这几道题是在德问上看到的,感觉挺有意思,拿来给大家分享其中的陷 ...

  6. Wannafly挑战赛7 B - codeJan与旅行

    题目描述 codeJan 非常喜欢旅行.现在有 n 个城市排在一条线上,并且 codeJan 的位置不和任何一个城市的位置重叠.codeJan 想要游览 m 个城市,同时因为时间是不断变化的,游览一个 ...

  7. python并发编程-线程池

    from concurrent.futures import ThreadPoolExecutor import time def func(n): time.sleep(2) print(n) re ...

  8. [转]如何在 JS 代码中消灭 for 循环

    一,用好 filter,map,和其它 ES6 新增的高阶遍历函数 二,理解和熟练使用 reduce 三,用递归代替循环(可以break!) 四,使用高阶函数遍历数组时可能遇到的陷阱 五,死磕到底,T ...

  9. Building Robust and Flexible Event System in Unity3D

    Building Robust and Flexible Event System in Unity3D 1. Prerequisites 1.1 Observer Pattern According ...

  10. Chris and Magic Square CodeForces - 711B

    ZS the Coder and Chris the Baboon arrived at the entrance of Udayland. There is a n × n magic grid o ...