JavaScript是一种脚本语言。
脚本,一条条的文字命令。执行时由系统的一个解释器,将其一条条的翻译成机器可识别的指令,然后执行

JavaScript基本组成
1.基本语法(浏览器基本都支持,有统一标准)

2.Dom(文档对象模型)(基本都支持,但可能会有差别,有统一标准)

3.Bom(浏览器对象,一般功能浏览器支持,但没有统一的标准)控制浏览器可见区域以外的部分(打开新窗口、关闭浏览器窗口、获取分辨率screen、XmlHttpRequest等。ajax)

js注意几点
1大小写敏感
2弱类型语言
3声明变量用var
4字符串用单引号

5每句话后面分号

JavaScript入门1

编写第一个JavaScript程序:显示当前时间。
<script type="text/javascript">
var nowData = new Date();
alert(nowData.toLocaleDateString());//日期
alert(nowData.toLocaleTimeString());//时间
</script>
<script language=“...” >W3C已经不推荐使用。
网页中的JavaScript代码应该放到<script></script>标签中,<script>标签可以放到<head>、<body>等任意位置,并且一个页面可以有不止一对<script></script>标签。
alert()函数是弹出一个消息窗口。new Date()创建一个Date对象,默认时间是当前时间。
放到<head>中的<script>在body加载之前就已经运行了。写在body中的<script>是随着页面的加载而一个个执行的。

JavaScript入门2
导入外部JavaScript文件:
除了可以在页面中声明JavaScript以外,还可以将JavaScript写到单独的js文件中,然后在页面中引入:
<script src=“test.js” type=“text/javascript”></script>。
声明到单独的js文件的好处是多页面也可以共享、减小网络流量。js文件的CDN(*),内容分发网络

可以将导入外部文件的<script>标签写在文档最后,提高用户体验。
注意:在<script></script>标签中不要出现’</script>’元素。

JavaScript的事件
JavaScript中也有“事件”的概念。
单击一个按钮显示当前时间。就触发了一个事件
<input type=“button” onclick=“ js代码" />

一个特殊的地方:单击一个超链接显示当前时间。
<a href=“javascript:js代码”>热点文字</a>
只有超链接的href中的JavaScript中才需要加“javascript:”,因为它不是事件,而是把”javascript:”看成像“http:”、“ftp:”、“thunder://”、“ed2k://”、“mailto:”一样的网络协议,交由js解析引擎处理。只有href中这是这是一个特例。

超链接为“死链”时,使用#与javascript:void(0);的区别。Void0没有用的值,不会去任何地方,就没有意义了

变量声明:
声明变量的时候无法:int i=0;只能通过var i=0;声明变量,和C#中的var不一样,不是C#中那样的类型推断。
var test=“hello”;
var test1=“hello”,age=20;
var i=100; i=“hello”;
var i,n,x;
var i=10,n=100,s=‘aaa’,m;
变量命名规则:以字母、下划线或$开头,中间可以包括字母、数字、下划线或$。(变量命名中多了一个$)
JavaScript中即可以使用双引号声明字符串,也可以使用单引号声明字符串。主要是为了方便和html集成,避免转义符的麻烦。
变量使用前可以不用var声明,这样的变量会变认为是“全局变量”(不推荐)
JavaScript是动态类型,因此var i=0;i=“abc”;是合法的。

JavaScript数据类型
数值、字符串、布尔、undefined、对象、函数。查看变量的类型用typeof(变量)
数值:(值类型)
var n1=3.1415926;//数值类型
n1.toFixed(3);//四舍五入保留3位小数。
字符串:(值类型,字符串不可变特性)
var s1=‘hello’;//字符串类型
布尔:(值类型)
var b1=true;//布尔类型
undefined:(值类型)
var u1;//undefined
对象(object):(引用类型)
var tim=new Date();//对象类型(object)
var names=[‘zs’,’ls’,’ww’];//数组也是对象类型(object)
var obj=null;//object
函数:(引用类型)
function fun(){ } //typeof(fun);//输出结果为function,函数类型。Typeof还有一个作用那就是判断变量是否可用

JavaScript语法
JavaScript中的null与undefined(参考资料)
undefined,表示一个未知状态
声明了但是没有初始化的该变量,变量的值是一个未知状态(undefined)。 (访问不存在的属性或对象window.xxx)
方法没有明确返回值时,返回值是一个undefined.
当对未声明的变量应用typeof运算符时,显示为undefined(*)
null表示尚未存在的对象,null是一个有特殊意义的值。可以为变量赋值为null,此时变量的值为“已知状态”(不是undefined),即null。(用来初始化变量,清除变量内容,释放内存)
undefined==null //结果为true,但含义不同。
undefined===null //false(*),先判断类型是否一致,然后判断值。
===严格等于、!==严格不等于
由于==会将值转换类型后再判断是否相等,有时可能会有意想不到的结果,所以推荐使用===。但注意,有些情况使用==能带来更好的效果。

JavaScript中字符串同样需要转义符 ’ \ ’,与C#一样。
想在页面输出:c:\windows\microsoft\vs.txt,这句话,需要这样写:alert(‘c:\\windows\\microsoft\\vs.txt’);不能用@,@只在C#中有效。
常见转义符:
\t、\n、\’、\”、\\
在用正则表达式的时候也会遇到转义符问题。(*)
if-else、for、while、do-while、switch、continue、break的用法参考c#语法。for循环稍有差异:for(var i=0;i<10;i++){ … }
注:switch判断时,是“全等于”,===

JavaScript变量的作用域
默认如果直接在script标签中定义变量,则属于“全局作用域范围”(全局执行环境),即属于window对象。
全局作用域范围的变量直到网页关闭或浏览器关闭时才释放资源
一个页面中的多个<script>标签中的变量可以互相访问。
JS有垃圾回收机制,会定时对可释放资源的变量回收。将变量设置为null则表示可以被回收了。
如果在某个函数内定义了变量则作用域范围属于该函数。注意声明变量时使用var与不使用var的区别。
注意:JS中没有块级作用域范围。

类型转换
parseInt(arg)//将指定的字符串,转换成整数
parseFloat(arg)//将指定的字符串,转换成浮点数
Number(arg)把给定的值(任意类型)转换成数字(可以是整数或浮点数);转换的是整个值,而不是部分值。如果该字符串不能完全转换为整型,则返回NaN。(Not a Number)
isNaN(arg)//判断arg是否为一个非数字(NaN),NaN与NaN也不相等。
String(arg)把给定的值(任意类型)转换成字符串;
Boolean(arg)把给定的值(任意类型)转换成 Boolean 型;

JavaScript基础精华01(变量,语法,数据类型)的更多相关文章

  1. Scala基础篇-01变量,数据类型

    一.Scala变量 共有3种变量修饰符: val: 可变 var: 不可变 lazy val: 第一次应用时才计算 二.Scala的数据类型 1)类型不匹配:高精度数值赋给低精度数据类型. 2)Uni ...

  2. JavaScript基础第01天笔记

    JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...

  3. 2021年3月-第03阶段-前端基础-JavaScript基础语法-JavaScript基础第01天

    1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的指令集合,而程序全部都是用我们所掌 ...

  4. JavaScript基础入门 - 01

    JavaScript入门 - 01 准备工作 在正式的学习JavaScript之前,我们先来学习一些小工具,帮助我们更好的学习和理解后面的内容. js代码位置 首先是如何编写JavaScript代码, ...

  5. JS 01 变量_数据类型_分支循环_数组

    点击直通车↓↓↓ 数据类型及数据类型的手动转换 数组 一.概念 JavaScript(JS)是一种基于对象和事件驱动.且可以与HTML标记语言混合使用的脚本语言,其编写的程序可以直接在浏览器中解释执 ...

  6. JavaScript DOM编程基础精华01(DOM入门,DOM模型和获取页面元素,事件,window对象的方法)

    DOM入门 DOM就是Html页面的模型,将每个标签都做为一个对象,JavaScript通过调用DOM中的属性.方法就可以对网页中的文本框.层等元素进行编程控制.比如通过操作文本框的DOM对象,就可以 ...

  7. JavaScript基础入门01

    JavaScript能用来做什么?     页面分为:结构.样式.行为.   JavaScript的组成:     ECMAScript.BOM.DOM       ECMAScript是一个标准,它 ...

  8. JavaScript基础系列(变量与类型)

    以下内容将JavaScript简称为JS 打开本文时不管你是零基础的初学者还是其他语言的老兵,我都想说程序语言的基础支撑起了整个网络世界,不把这些基础学透之后稍复杂的内容会让你寸步难行. 现在先给编程 ...

  9. OC基础7:变量和数据类型

    "OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.有时候初始化需要让对象带有初始值,那么 ...

随机推荐

  1. 防火墙设置:虚拟机ping不通主机,但是主机可以ping通虚拟机(转载)

    我在Windows7系统安装了虚拟机,通过虚拟机安装了Ubuntu13.04,我设置的主机与虚拟机的连接方式是桥接,安装好后,发现虚拟机ping不通主机,但是主机可以ping通虚拟机. 我的操作是:关 ...

  2. vmware虚拟机上网:host-only

    host-only配置 首先主机:vmware1要能共享本地连接这个网络,共享后vmware的ip会自动设置为如图 其次,vmware网络设置如图 最后,虚拟机设置如图 这样,主机与虚拟机之间就能pi ...

  3. 【转】常用插件和mvn test命令

    自定义构建Maven项目,需要包括额外的插件或者配置已存在的插件参数. 1. maven-compiler-plugin 指定JDK版本和编码方式 compiler插件能解决2个问题: 第一: mav ...

  4. ActiveMQ之deliveryMode

    在下面的例子中,分别发送一个Persistent和nonpersistent的消息,然后关闭退出JMS. import javax.jms.Connection;import javax.jms.De ...

  5. iOS:等比压缩截图代码

    将一幅图片按着需要的尺寸进行等比的压缩和放大,最后再截取需要尺寸部分,不知道说清楚没,反正就那意思吧! +(UIImage *)compressImageWith:(UIImage *)image w ...

  6. ServiceStack.OrmLite 调用存储过程

    最近在做关于ServiceStack.OrmLite调用存储过程时,有问题.发现ServiceStack.OrmLite不能调用存储过程,或者说不能实现我想要的需求.在做分页查询时,我需要传入参数传出 ...

  7. 【原创】jQuery插件 - Booklet翻书特效教程(一) 一般设置

    jQuery插件 - Booklet翻书特效教程(一) 一般设置 本文由五月雨恋提供,转载请注明出处. 一.宽高(width/height) 1.自定义大小 $(function(){ // 自定义页 ...

  8. Notes of the scrum meeting(11/1)

    meeting time:9:00~10:30p.m.,November 1st,2013 meeting place:20号公寓楼前 attendees: 顾育豪                   ...

  9. BT5之Metasploit[MSF]连接postgresql数据库

    1,先查看postgresql的端口,默认是自动开启的,端口7337 .   root@bt:~# netstat -tnpl |grep postgres tcp        0      0 1 ...

  10. uva 11174

    刘书上例题 #include <cstdio> #include <cstdlib> #include <cmath> #include <map> # ...