JavaScript 组成:

ECMAScript + BOM + DOM

Window对象是JS中的顶层对象

ECMAScript: 规定了一些语法,变量,for循环等等结构

BOM: Browser object  Model          浏览器对象模型

DOM:Document  object   Model     文档对象模型

案例:

<script type="text/javascript">

<!--

    alert("abc");

//-->       如果浏览器不认识他,就忽略掉 

</script>


数据类型

<html>
<head></head>

<script type="text/javascript">
/* javascript的数据类型:没有数据类型
使用typeof来判断数据类型
a.基本类型
1.undefined: 没有给变量赋值时的类型
2.String:
3.Boolean
4.Number:
5.function:
6.null
b.引用类型
Object

c.判断变量的类型的两种方式
1.typeof(): 打印的是所有类型的toString方法(所有类型的小写)
2.instanceof 关键字 ,判断变量是不是由某种类型new出来的。
*/
var a ;
a = 10;
a="abc";
a = true;
a=20;
alert(a instanceof Number);//因为不是new出来的,所以会显示false
a = new Number(30);
alert(a instanceof Number);//true
alert(typeof(a));
</script>


表单提交数据

<html>

<head>
<title>表单标签</title>
作用:搜集数据<br><br>
</head>
<body>
</body>
<form action="" method="get">
<!--action指要提交的页面 method默认采用的是get方式,post方式较为安全--
get方式将参数附加到网址后面,get方式的数据大小有限制 < 1k -->
<!--value 表示要输入的内容 , value就是要提交到服务器的内容。
size表示字符的个数
readonly 只读
-->

姓名: <input type="text" value="请输入内容" size= readonly> <br><br>
密码: <input type="password" value="请输入密码" ><br><br>
隐藏框:<input type="hidden" value="hiddent"><br><br>
性别: <input type="radio" name="gender" value="male" >男<input type="radio" name="gender" value="female" checked>女<br><br>
<!--需要设定name 才能认为是一组,菜单实现单选-->
<!--checked的值也是checked,可以省略,readonly的值也是readonly,可以省略-->

爱好: <input type="checkbox" name="love" value="打游戏">打游戏
<input type="checkbox" name="love" value="编程">编程
<input type="checkbox" name="love" value="打篮球">打篮球
<input type="checkbox" name="love" value="游泳">游泳
<input type="checkbox" name="love" value="追剧">追剧<br><br> 学历:<select name="xueli">
<option value="高中">高中</option>
<option value="本科">本科</option>
<option value="硕士">硕士</option>
<option value="博士">博士</option>
<option value="博士后">博士后</option>
</select><br><br>
备注:<textarea rows="" clos=""></textarea><br><br>
<!--占据5行,5列,中间不要留空-->
按钮:<br> <input type="button" value="普通按钮"onclick="alert(this.value)"><br>
<input type="submit" value="提交按钮" onclick="alert(this.value)"><br>
<input type="reset" value="重置按钮"><br><br>
<input type="image" src="9.jpg"><br><br>
<input type="image" value="普通按钮"><br><br> <button></button> </form> </html>

 javascript的类型转换

1.把字符串转换为number类型
a.parseInt,parseFloat 不推荐,较复杂。
b.n * 1;
2.把字符串转换成boolean类型
非零为真,零为假。
NaN : not a number

var a ="";
a = a * ;
alert(typeof(a)); function fun(){
//拿到文本框对象
var txt = document.getElementById("age");
//判断内容
if(tex == ){
alert("年龄大于0");
}else{
alert("");
}
}

函数的定义方式:
1.采用关键字function:
2.采用匿名函数的方式(采用function作为名字)--了解即可

函数的调用:
调用函数的时候是采用函数名来寻找的,不能有重名的函数。

function fun(){
alert("function");
}
//写函数名调用
fun(); var a = function(){
alert("我是匿名函数");
}
a();

 函数劫持:改变javascript的函数预定义好的功能

window.alert = function(x){
document.write(x);
}

全局函数
1.isNaN : 是不是一个数字,返回TRUE不是数字; NaN:not a number
2.parseInt,parseFloat
3.eval:
a.主要执行字符串,将结果转换为数字
b.将json格式的字符串转换为json
{"a":"中国","b":"美国","c":"日本"}
4.escape() 编码
5.encodeURI(): 对网址(URL)进行编码
6.decodeURI(): 对网址爱(URL)进行编码

var a = "";

if(isNaN(a)){
alert("不是数字");
}else{
alert("是数字");
}
<!--结果是数字,因为javascript只判断内容,不判断类型--> alert("" + ""); <!----> alert(eval("") + eval("")); <!----> var b = "中国"; var c = escape(b);
alert(c);
alert(unescape(c)); var e = "http://www.sohu.com?a=中国&b=美国";
var f = encodeURI(e);
alert(f);
alert(decodeURI(f));

javascript中数组的类型

数组对象的定义方式
1.采用new Array() 的方式
2.采用[] 来定义(推荐使用)

javascript中数组与java中数组的差别
a.java中数组是有类型的,数组只能放一中数据类型,
javascript中的数组没有类型,但是不推荐放多种类型的数据。
b.java中数组的长度一旦确定就不能再改变了。
javascript中的数组长度是可以变化的。
c.java中的数组的数据引用必须用下标引用,
javascript中的数组的数据引用可以用任意对象。

var arr = new Array(); //定义数组arr,初始长度为0
var arr1 = new Array(); //定义一个数组arr1,初始长度为4
arr1[] = ;
arr1[] = ; alert(arr1[]);
alert(arr1[]);<!--没有定义,则是undefined类型--> var arr2 = new Array(,,,,,,,); var arr3 = [,,,,,]; //定义了一个数组,同时初始化数据

数组对象的方法array
1.join(); 默认情况下用逗号隔开;
2.将元素添加到数组的末尾;
3.reverse() 翻转顺序
4.shift() 删除并返回第一个元素。
5.sort() 排序
默认情况下先将能转换为number类型的字符串和number类型的放一起比较(转换为String类型进行比较)
转换不成的作为一组进行比较
按照自己的规则进行比较:需要传递一个function类型的参数制定比较规则。

var arr1=["中国","美国","日本"];
alert(arr1.join()); <!--默认情况下用逗号隔开;-->
alert(arr1.join("")); //用空字符串连接
arr1.push("东京");
alert(arr1.join());
alert(arr1.reverse());//翻转顺序
alert(arr1.shift());
-------------------------------------------------------
var arr1 = [,,"","",];
alert(arr1.sort()); // 按字符串排序,3 < 333 < 34 < 4 //指定自己的规则
alert(arr1.sort(function(a,b){
if(a * > b * ){
return ;
}else{
return -;
}
}));

j2ee学习笔记 javascript 学习的更多相关文章

  1. 学习笔记---Javascript事件Event、IE浏览器下的拖拽效果

    学习笔记---Javascript事件Event.IE浏览器下的拖拽效果     1. 关于event常用属性有returnValue(是否允许事件处理继续进行, false为停止继续操作).srcE ...

  2. java JDK8 学习笔记——助教学习博客汇总

    java JDK8 学习笔记——助教学习博客汇总 1-6章 (by肖昱) Java学习笔记第一章——Java平台概论 Java学习笔记第二章——从JDK到IDEJava学习笔记第三章——基础语法Jav ...

  3. python3.4学习笔记(七) 学习网站博客推荐

    python3.4学习笔记(七) 学习网站博客推荐 深入 Python 3http://sebug.net/paper/books/dive-into-python3/<深入 Python 3& ...

  4. 20155234 2016-2017-2第十周《Java学习笔记》学习总结

    20155234第十周<Java学习笔记>学习总结 教材学习内容总结 网络编程 在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定 ...

  5. 20155234 2610-2017-2第九周《Java学习笔记》学习总结

    20155234第九周<Java学习笔记>学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC(Ja ...

  6. #学习笔记#e2e学习使用(二)

    前言: <#学习笔记#e2e学习使用(一)>主要记录了Vue项目的创建到e2e环境的搭建,以及期间遇到的各种问题和解决方法.本文建立在基础测试环境搭建完毕能正确运行的情况下,编写测试代码, ...

  7. #学习笔记#e2e学习使用(一)

    本文仅限于记录本人学习的过程,以及怎么踩的坑,是如何解决的.逻辑肯定是混乱的,有用之处会抽出共通另行发帖. 最终目标:要运用于Vue项目中,进行功能测试甚至自动化测试. 一.e2e概念 理解:end ...

  8. mybatis学习笔记之学习目录(1)

    mybatis学习笔记之学习结构(1) 学习结构: 1.mybatis开发方法 原始dao开发方法(程序需要编写dao接口和dao实现类) mybatis的mapper接口(相当于dao接口)代理开发 ...

  9. Vue学习笔记-rest_framework_jwt 学习

    一  使用环境 开发系统: windows 后端IDE: PyCharm 前端IDE: VSCode 数据库: msyql,navicat 编程语言: python3.7  (Windows x86- ...

随机推荐

  1. Pizza pieces

    Pizza pieces Description In her trip to Italy, Elizabeth Gilbert made it her duty to eat perfect piz ...

  2. Trigger Execution Sequence in Oracle Forms

    Introduction ------------ This document lists the order in which triggers fire in Oracle Forms 4.5: ...

  3. [HDU 1561] The more, The Better

    The more, The Better Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  4. UpdatePanel无法直接弹出窗口的解决

    UpdatePanel无法直接弹出窗口的解决 2010-06-20  来自:博客园  字体大小:[大 中 小] 摘要:本文介绍一些UpdatePanel无法直接弹出窗口的解决方法 ///<sum ...

  5. xfce terminal tab被解释为super+tab的bug

    https://bugzilla.xfce.org/show_bug.cgi?id=10760 解决方法 Every few weeks the tab key stops working in th ...

  6. 场解决方案添加webpart(Create Webpart to page using code)

    转:http://www.soaspx.com/dotnet/asp.net/tech/tech_20120814_9489.html /// <summary>         /// ...

  7. SharePoint : 使用SPQuery对象时要注意的事项

    转:http://www.cnblogs.com/chenxizhang/archive/2009/10/23/1588415.html 我们经常需要对一个列表进行查询,此时最灵活的方式就是直接使用S ...

  8. Android 实用代码七段(三)

    前言 终于又攒了一篇出来,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http: ...

  9. 基于WebForm+EasyUI的业务管理系统形成之旅 -- 登录窗口(Ⅱ)

    上篇<基于WebForm+EasyUI的业务管理系统形成之旅 -- 系统设置>,主要是介绍系统浏览器在线下载安装,这些前期准备是非常重要的. 最近忙于将工程管理系统中各个模块,用业务流程方 ...

  10. IIS里面网站停止了,不能启动

    IIS里面网站文件夹显示红色的叉叉,停止了,不能启动,所有站点都停止了: 原来是Word wide web publish service 服务停止了,启动就好了