javascript学习
代码放在E:\JS\js学习
学习中要学会多查手册
javascript基本介绍
- js是用于web开发的脚本语言。
- 后面统称为 js
- 脚本语言不能独立使用,它和html/jsp/php/asp/asp.net等配合使用。
- 脚本语言有自己的变量,函数,控制语句(顺序,分支,循环)。
- 脚本语言实际上是解释性语言(说白了:在执行的时候直接对源码进行执行,不用对源码进行转化)。
- javascript执行引擎:-->浏览器(js引擎来解释执行的)。
- 编译语言执行效率高。
js 在客户端与浏览器之间的执行原理:

总结:
js会随着请求返回的页面一起返回,在本地计算机上的浏览器上执行。
第一个程序hello world(万变不离其宗;学语言的基本)
<!DOCTYPE html><!-- 开头声明文档类型(为html文档:html5的写法) -->
<html>
<head>
<meta charset="utf-8"><!-- 设置编写代码格式,不写容易被浏览器解析的时候乱码 -->
<!-- js代码一般是放在head标签间,单实际上也可以放在别的位置 -->
<script type="text/javascript">
window.alert("hello world");
</script>
</head>
<body> </body>
</html>
<html>
<head>
<meta charset="utf-8">
</head>
<body> <script type="text/javascript">
window.alert("hello world1");//我第一个先执行
</script>
<script type="text/javascript">
window.alert("hello world2");//当第一个执行完了我第二个执行
</script>
<script type="text/javascript">
window.alert("hello world3");//当第二个执行完了我第三个执行
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body> <script>
//js中变量的表示 var,不管实际类型;
var num1 = 45;
var num2 = 89;
var result = num1 + num2;
window.alert("结果是:" + result);
</script>
</body>
</html>

总结:
- 在js中所有的变量都是有 var 表示的;不管实际类型。
- 从结果我们直到;字符串和数字相加(" + ");会自动将数字转换成字符串然后字符串间进行拼接。
- alert:属于window对象;我们查手册;对其的描述
- 1. 不论那种语言;都有变量。变量是程序的基本组成单位;
- 2. js是弱数据类型语言。-->针对强数据类型而言的;比如 java;
<script>
num1 = 45;
num2 = 89;
result = num1 + num2;
window.alert("结果是:" + result);
</script>
var name = "haha";//此时js引擎会认为name是字符串类型
var kk = 2;//此时js引擎认为kk是数字类型
var yy //js引擎会认为yy是undefined //如果此时重新定义name
name = 123;//这时name会自动变成数字类型。 //不声明变量直接使用
x = 64;//这样定义也可以使用
js的基本语法
一 js标识符
- js中定义的符号:如变量名,函数名,数组名等;
- 标识符由任意顺序的 大小写字母,数字,下划线(_)和美元符($)组成。
- 但那时不能以数字开头。
- 不能使用js中的保留,关键字。可查文档;javascript保留字,javascript关键字。关键字-->现在已经在用的;保留字-->现在没用以后可能用而保留起来的。
- js中是严格区分大小写的。num = 2 和 Num = 2;不是同一个变量。(html标签不区分大小写)
- 每条功能执行语句的最后必须用分号(英文输入法下的分号" ; " )结束。
- 每个词之间用空格,制表符,换行符或者大括号,这样的分隔符隔开。
- 语句块用 { } 来表示。
- 为了美观注意js的书写格式。保证代码的可读性和实用性。
二 js注释
三 js数据类型
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> <script>
var v1 = "abc";
var v2 = 89;
window.alert("v1的数据类型:" + typeof v1); //结果在浏览器弹出:v1的数据类型:string
window.alert("v2的数据类型:" + typeof v2); //结果在浏览器弹出:v2的数据类型:number v1 = 33;//体现js动态语言;变量随时可以变的
window.alert("v1的数据类型:" + typeof v1); //结果在浏览器弹出:v1的数据类型:number
</script>
</head>
<body>
</body>
</html>
基本数据类型

1. Number:数字类型
- 16进制以0x或0X开头,如:0x8a = 8*16+10;那么0x28a = 2*16*16(16的2次方表示)+8*16+10
- 8进制必须以0开头,如:0123 = 3+2*8+1*8*8(8的2次方表示)
- 10进制的第一位不能是0(数字0除外),如:123
var a = 10;
var b = 010;//当我们在10进制前面加0;看运算结果。 结果会将其转化为8进制再进行计算
var c = a+ b;
window.alert(c);//结果弹出18;这是转换为8进制的结果。
var a ="abc";
alert(parseInt(a));//会弹出NaN
alert(6/0);//会弹出Infinity
说明:
- isNaN():判断一个值是不是数字:如果是数字;则返回 false;如果不是数字:则返回 true
- isFinite():判断一个值是不是无穷大,如果是返回 false,如果不是则返回 true
6. 复合数据类型

7. 特殊数据类型

window alert(tt); // 页面不声明 tt,直接使用 tt,浏览器会报错,控制台显示 tt is not undefine
var tt;
window.alert(tt);// 结果浏览器会弹出提示框-->提示框内容为 undefine
四、数据类型转换
var a = "";//此时a是String类型
a = parseInt(a);//利用系统强制转换;此时的a是number型 var b = ;//表示number型
b = b + "";//此时b是String型。这也是数值转换字符串的一种方式
3.运算符
注意:+:如果是两个数之间用则是 加法运算;如果其中含有字符串则是 拼接(就是直接将将第二个数接在第一个后面)
<script>
var a = 10;
var b = 8;
if(a % b == 0){
alert("我是能够整除的结果!");
}else{
alert("我是不能够整除的结果!");
}
//注意:两个数相取模的结果。
alert(10 % 8);//结果为2
alert(8 % 10);//结果为8
alert(90.6 % 8);//结果为25.9999999
</script>
练习
注意:
取模主要用于整数;从上面的例子可以看出;用在小数上没什么意义。
- ++:a ++ 等价于 a = a + 1
- --:b -- 等价于 b = b - 1
var a = 50;
var b = ++a; //等价于 a = a+1; b = a
alert(a);//结果是多少?
alert(b);结果是多少?
var c = 50;
var d = c++; //等价于 d = c; c = c+1
alert(c); //结果是多少?
alert(d);//结果是多少?
总结:b = a++ 和 b = a--:是a先赋值然后在自身 加 或者 减;b = ++a 和 b = --a:是a先自身 加 或者 减了;在赋值。
var a = 10;
a += 5;
alert(a);//结果是a = a + 5:是15 var b = 90;
b -= a;//结果是b = b - a:是75
alert(b); //思考?
var a = 56;
var b = 90;
a -= 34;
b %= a;
alert(a);//结果是多少?
alert(b);//结果是多少?
案例
javascript学习的更多相关文章
- JavaScript学习(一) —— 环境搭建与JavaScript初探
1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...
- Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”
Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...
- JavaScript学习(3):函数式编程
在这篇文章里,我们讨论函数式编程. 什么是函数式编程?根据百度百科的描述,“函数式编程是种编程典范,它将电脑运算视为函数的计算.函数编程语言最重要的基础是 λ 演算(lambda calculus). ...
- JavaScript学习(2):对象、集合以及错误处理
在这篇文章里,我们讨论一下JavaScript中的对象.数组以及错误处理. 1. 对象 对象是JavaScript中的一种基本类型,它内部包含一些属性,我们可以对这些属性进行增删操作. 1.1 属性 ...
- JavaScript学习13 JavaScript中的继承
JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式 ...
- JavaScript学习12 JS中定义对象的几种方式
JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...
- JavaScript学习11 数组排序实例
JavaScript学习11 数组排序实例 数组声明 关于数组对象的声明,以前说过:http://www.cnblogs.com/mengdd/p/3680649.html 数组声明的一种方式: va ...
- JavaScript学习10 JS数据类型、强制类型转换和对象属性
JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...
- JavaScript学习09 函数本质及Function对象深入探索
JavaScript学习09 函数本质及Function对象深入探索 在JavaScript中,函数function就是对象. JS中没有方法重载 在JavaScript中,没有方法(函数)重载的概念 ...
- JavaScript学习08 Cookie对象
JavaScript学习08 Cookie对象 JavaScript Cookie Cookie对象: Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cooki ...
随机推荐
- maven工程模块化
前言 项目的模块化有利于任务分工,后期维护,易扩展,模块还可以独立成服务单独部署等: 创建packaging类型为POM的父项目 我用的maven插件是m2e,相信大部分人在eclipse装的也是m2 ...
- centos7搭建自己的yum源
http://www.wenbin.cf/post/37/ 1. 安装nginx,createrepo yum install nginx -y yum install createrepo -y ...
- Linux命令学习总结:rm命令
命令简介: 该命令用来删除Linux系统中的文件或目录.通常情况下rm不会删除目录,你必须通过指定参数-r或-R来删除目录.另外rm通常可以将该文件或目录恢复(注意,rm删除文件其实只是将指向数据 ...
- javax.net.ssl.SSLHandshakeException(Cas导入证书)
一.报错: javax.net.ssl.SSLHandshakeException二.原因分析:CAS部署时,常常要涉及到HTTPS的证书发布问题.由于在实验环境中,CAS和应用服务常常是共用一台PC ...
- Hibernate注解----类级别注解以及属性注解详解----图片版本
这篇文章是我在慕课网上学习Hibernate注解的时候进行手机以及整理的笔记. 今天把它分享给大家,希望对大家有用.可以进行收藏,然后需要的时候进行对照一下即可.这样能起到一个查阅的作用. 本文主要讲 ...
- 关于LogStash运行在AIX 64位机器上的问题与临时解决方案
需求;logstash运行在SUSE,LINUX,PPC LINUX,AIX机器上,并监控文件发送日志到KAFKA中去, 问题:在AIX机器上,file插件总是报异常,无法完成数据的读取 NotImp ...
- 不要让catalogs搞死你的eclipse
不要让catalogs搞死你的eclipse 楼主终于走出校园,踏上软件职场之路.新人要学的东西有很多,要战胜的东西很多,这些东西除了技术本身,还有对未知领域的恐惧,新接触技术,比如新的框架,可能好几 ...
- jboss配置数据源
配置的是mysql的数据源 找到jboss-.GA\docs\examples\jca\mysql-ds.xml 复制一份到jboss-.GA\server\default\deploy目录下 然后修 ...
- kettle启动“Error: could not create the Java Virtual Machine”
因为我的操作系统是32bit,而Ketttle的Spoon脚本中,默认是PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m&qu ...
- [No000085]C#反射Demo,通过类名(String)创建类实例,通过方法名(String)调用方法
using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Sy ...
