每日一结,javaScript

* JAVASCRIPT(JavaScript简写js,文件的后缀名也是  demo.js)(*****)
* javascript的简介
* js是基于对象和事件驱动的脚本语言,作用在客户端(浏览器)上。
* js的特点:
* 交互性
* 安全性:(不可以访问本地的硬盘)
* 跨平台性:因为浏览器就可以解析js的文件。


* javascript和java不同(一点关系没有)(雷锋和雷峰塔)
* Netscape(网景),静态的效果。livescript(javascript的前身)
* java诞生了,升级了,改名(javascript),火了。
* 巨头:自己开发一套(jscript)
* 找一些公司推出的标准: SUN 微软 ECMA(欧洲计算机制造协会),联合推出现在的标准。

* ECMAScript:标准。基础上扩展。

* js的基于对象,java是面向对象。
* js解析就可以执行,java先编译再执行。
* js是弱类型的语言,java是强类型语言。

* javascript语言的组成
* ECMAScript 标准(js的语法,变量,函数)
* BOM (Browser Object Model) 浏览器对象模型
* DOM (Document Object Model) 文档对象模型


* javascript的语法
* 把js和HTML的结合一起。(2两种方式)
* js和HTML的结合
* HTML的文件提供了一个标签 <script type="text/javascript">js的代码</script>,标签可以放在HTML文件的任意位置上。

* 引入外部的文件,有一个外部的文件。编写js文件。
* <script src="引入js文件(相对路径)" >
* 如果script通过src的属性引入了外部的文件,里面的js代码就不会执行了。(*****)

* </script>,标签可以放在HTML文件的任意位置上。


* 关键字
* var 声明变量

* 标示符
* 和java一样

* 注释
* 和java一样

* 变量
* 声明变量,只使用一个关键字 var num = 12;  var str = "abc"; 
* 5种基本数据类型
* Undefined、Null、Boolean、Number 和 String 

* 5种基本数据类型
* Undefined、Null、Boolean、Number 和 String 

* String 字符串类型
* js中双引号和单引号都代表的是字符串
* Number 数字类型
* 不区分整数和小数
* Boolean 布尔类型
* Null 空,给引用赋值的
* Undefined 未定义(声明变量,没有赋值)

* 声明变量,使用var关键字
* typeof() 判断当前变量是什么类型的数据

* 运算符
* js的运算符
* 算术运算符
* 0或者null是false,非0或者非null是true,默认用1表示。
var num = 3710;
alert(num/1000*1000);
* 不区分整数和小数
* 赋值运算符
* 和java是一样的
* 比较运算符
* == 比较值是否相同
* === 比较值和类型是否相同
* 逻辑运算符
* 和java中一样

* 三元运算符
条件?值1:值2


* js的数组
* js的数组
* java String [] str = {};
* 声明数组
* var arr = [12,34,55];
* var arr = new Array(5); 声明数组,长度是5
* var arr = new Array(2,3,4); 声明数组,元素是2 3 4

* 数组的属性
* 长度:length
* 数组的长度是可变的。


* js的方法
* java中 public String 方法名称(参数列表(int num,String str)){
方法体;
return null;
}

* js中,通过关键字function 声明方法。

function 方法名称(参数列表 (num,str)){
方法体;
return;
}

* 参数列表:不能使用var关键字
* 返回值:可写可不写的,如果有写返回值,如果没有,返回值可以省略不写。

* 调用执行。

* 在函数的内部,有一个数组,装传过来的参数的

arguments

* js的动态函数和匿名函数
* js的动态函数和匿名函数
* 动态函数
function getSum(){
return 50;
}
js提供了内置对象 Function

* 匿名函数
* 没有名称的函数


* js的全局变量和局部变量
* 全局变量:在<script>标签内部定义的变量,全局变量。
* 局部变量:在函数的内部定义的变量,局部变量。


* javascript的对象和API
* String 对象
* 声明
var str = "abc";
var str = new String("abc");

* 属性:length:字符串的长度
* 方法:
* 和HTML相关的方法(书写没有提示的)
* bold() 使用粗体显示显示字符串
* fontcolor(color)参数是必须的,设置字体的颜色
* fontsize(size)设置字体的大小(1-7)
* italics() 斜体
* link(url) 设置链接
* sub() 下标
* sup() 上标

* 和java中String对象类似的(*****)
* charAt(index)返回指定位置的字符
* indexOf(str,fromIndex)检索字符串,没有返回-1
* lastIndexOf(str,fromIndex)从后向前检索字符串
* replace(要替换的字符串,替换成啥)

* substring(start,stop)截取字符串
* substr(start,length)截取字符串,从哪开始,截取多长


* 定义一个方法:可以去掉字符串两边的空格。
var str = "  ab c     ";
var newStr = mytrim(str);
newStr = "ab c";


* String 对象
* 声明
var str = "abc";
var str = new String("abc");

* 属性:length:字符串的长度
* 方法:
* 和HTML相关的方法(书写没有提示的)
* bold() 使用粗体显示显示字符串
* fontcolor(color)参数是必须的,设置字体的颜色
* fontsize(size)设置字体的大小(1-7)
* italics() 斜体
* link(url) 设置链接
* sub() 下标
* sup() 上标

* 和java中String对象类似的
* charAt(index)返回指定位置的字符
* indexOf(str,fromIndex)检索字符串,没有返回-1
* lastIndexOf(str,fromIndex)从后向前检索字符串
* replace(要替换的字符串,替换成啥)

* substring(start,stop)截取字符串
* substr(start,length)截取字符串,从哪开始,截取多长


* Array对象
* 声明数组
var arr = [12,33];
var arr = new Array(4,4);

* Array对象
* 声明数组
var arr = [12,33];
var arr = new Array(4,4);

* 属性:length:长度
* 方法:
* concat(元素,数组);返回新的数组
* join(s) 通过s标识(-),进行分隔,返回字符串
* pop() 删除末尾的元素,返回最后一个元素
* push() 向末尾添加元素,返回新数组的长度
* sort() 排序的方法


* Date日期对象
var date = new Date();当前的日期
* Date日期对象
var date = new Date();当前的日期

* toLocaleString()转换本地的日期格式
* toLocaleDateString()只包含日期
* toLocaleTimeString()只包含时间

* getDate() 返回一个月中的某一天(1-31)
* getDay() 返回一周中的某一天(0-6)
* getMonth() 返回月份(0-11) +1
* getFullYear()返回年份

* getTime() 返回毫秒数
* setTime() 通过毫秒数获取日期
* var date3 = new Date(1415937050973);

* parse(str) 解析字符串,返回毫秒数
Date.parse(str);

str:
2014-11-14 解析不了

11/14/2014 可以解析
2014,11,14 可以解析


* Math 和数学相关的对象
* math对象(静态的方法)
* ceil(x) 上舍入
* floor(x) 下舍入
* round(x) 四舍五入
* random() 0-1的随机数


* RegExp对象
* 正则表达式对象
* 应用:编写注册的表单,对表单输入的内容进行校验。

* var reg = new RegExp("表达式");(开发中不经常使用)
* var reg = /表达式/开发中经常使用
* var reg = /^表达式$/开发中经常使用

* exec(string)不经常使用
* 如果匹配,返回匹配的结果

* test(string)经常使用
* 如果匹配,返回是true,如果不匹配,返回是false

if(reg.test("abc")){
// 匹配上了

}else{

}


* 全局函数
* 使用全局函数,不需要任何的对象。
* 全局函数可以拿过来使用。
* global帮着管理全局函数。

* 全局函数
* eval() 可以解析字符串,执行字符串中间的js代码
* isNaN() 判断是否是非数字值
* parseInt() 解析字符串,返回整数

* encodeURI() 进行编码
* decodeURI() 解析解码

* encodeURIComponent()
* decodeURIComponent()

* escape()
* unescape()

* BOM 浏览器对象模型
* (Brower Object Model)

Window   窗口对象(*****)
Navigator 和浏览器版本相关的对象(**)
Screen 和屏幕相关的对象(-*)
History 和浏览器历史相关(**)
Location 和浏览器地址相关的对象(***)



Document 文档对象




Window   窗口对象(*****)


Navigator 和浏览器版本相关的对象(**)
* userAgent 获取浏览器的相关的信息
* window.navigator.userAgent window可以省略不写

Screen 和屏幕相关的对象(-*)

History 和浏览器历史相关(**)
* back() 返回上一个页面
* forward() 去下一个页面

* go()
* 传参数 go(1) 等于forward()
go(-1) 等于back()

Location 和浏览器地址相关的对象(***)
* href 获取和设置浏览器的路径(***)

* 事件
* onclick 点击事件
* 值的写法:

* document对象
* alert() 弹出提示框
* confirm("参数") 询问框
* 提供俩按钮,确定和取消
* 如果点击是确定,返回true,如果点击取消,返回false

* moveBy() 移动浏览器

* setInterval("函数",毫秒值) 定时相关的
* 每隔毫秒值执行一次函数
* 返回唯一的id值

* setTimeout("函数",毫秒值)
* 到了毫秒值后执行一次函数
* 返回唯一的id值

* 清除定时
clearInterval(id的值)
clearTimeout()

* close() 关闭浏览器的窗口
* open() 打开浏览器窗口

* 属性:
* opener 返回对创建此窗口的窗口的引用。 
* win  open() 弹出baidu的窗口

在baidu窗口中  baidu.opener 得到了win的引用。

* document对象方法
* document.getElementById("nameId"); 获取到是input标签的对象

* DOM 文档对象模型

* Document Object Model
* 文档:标记型文档 (HTML/XML)
* 对象:封装属性和行为(方法)
* 模型:共性特征的体现

* DOM解析HTML
* 通过DOM的方法,把HTML全部(元素(标签)、文本、属性)都封装成了对象。
<span id="spanId">文本</span>

* DOM想要操作标记型文档先解析。(解析器)
* DOM解析HTML(浏览器就可以HTML)

* 浏览器DOM解析HTML?


* DOM的三个级别:

* DHTML不是一种编程语言。
* html :封装数据。 <span>展示给用户的数据</span>
* css :设置样式(显示效果)
* dom :操作HTML(解析HTML)
* js :提供逻辑(判断语句,循环语句)


* Document:代表整个文档。
* 方法:
getElementById("id的值"); 通过元素的id的属性获取元素(标签)对象。
getElementsByName("name属性值"); 通过名称获取元素对象的集合(返回数组)
getElementsByTagName("标签名称"); 通过标签名称获取元素对象的集合(返回数组)

* write("文本的内容(html的标签)") 把文本内容写到浏览器上。

* createElement("元素名称"); 创建元素对象
* createTextNode("文本内容") 创建文本对象

* appendChild("子节点") 添加子节点

<span id=""></span>


* Element对象
* 获取元素对象
* getAttribute("属性名称"); 获取属性的值
* setAttribute("属性名称","属性的值"); 设置或者修改属性的值
* removeAttribute("属性名称"); 删除属性

* 获取元素下的所有子节点(*****)
* ul.getElementsByTagName();


* Node:节点对象
* nodeName :节点名称
* nodeType :节点类型
* nodeValue :节点的值

* parentNode 获取父节点(永远是一个元素节点)

IE6-8 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IE9-11 Chrome FireFox
firstChild 第一个节点 ? ? ? ? ? ? ? ? firstElementChild?第一个节点
lastChild最后一个节点、 ? ? ? ? ? ? ? lastElementChild 最后一个节点
nextSibling 下一同级节点 ? ? ? ? ? ? ?nextElementSibling?下一同级节点
previousSibling 上一同级节点 ? ? ? ? ?previousElementSibling?上一同级节点

<ul>
<li>北京</li>
</ul>

* 如果通过ul获取北京的子节点,使用是 ul.firstElementChild; 获取北京的子节点(IE9-11 Chrome FireFox)
* 但是如果IE6-8,需要使用firstChild;

<span id="spanId">
文本内容
</span>

* 使用span的标签获取span中间的文本内容(也是对象),需要使用firstChild;(不管是什么浏览器)


* 方法
* hasChildNodes() 检查是否包含子节点
* hasAttributes() 检查是否包含属性

* appendChild(node) 父节点调用,在末尾添加子节点
* insertBefore(new,old) 父节点调用,在指定节点之前添加子节点
* replaceChild(new,old) 父节点调用,替换节点
* removeChild(node) 父节点调用,删除节点

* cloneNode(boolean) 不是父节点调用,复制节点
* boolean :如果是true,复制子节点
:如果是false,不复制子节点,默认是false


* innerHTML :获取和设置文本内容。
* innerHTML属性:
* 获取文本内容
* 设置文本内容

* 事件:
onclick 点击事件
onload 加载事件
onfocus 获取焦点事件
onblur 失去焦点事件


* 全选/全不选/反选的练习
<input type="checkbox" />
* 指定默认值:checked 只要出现在<input type="checkbox" />,对号就勾上了。


* 鼠标移动的事件
onmousemove
onmouseout
onmouseover

* 鼠标点击事件(*****)
onclick 单击
ondblclick 双击

* 加载和卸载
* onload(*****) 加载
* onunload 卸载

* 获取焦点和失去焦点(*****)
* onfocus 获取焦点
* onblur 失去焦点

* 键盘
* onkeyup 按下抬起

* 改变事件(*****)
* onchange


* 控制表单的提交(*****)
onsubmit

* onsubmit事件
* 控制表单提交。 需要把onsubmit作用在表单上 <form  οnsubmit="">
* 值的写法:οnsubmit="return run()"
* run()必须要有返回值,必须返回true或者false。
* 如果返回是true,表单可以提交,如果返回false,表单不能提交。如果没有返回值,默认是表单提交。
* run()的逻辑写什么?
* 表单的校验。

* 可以通过js提交表单。
// 通过id获取form
// var form = document.getElementById("formId");
// 通过form的name的属性获取表单
var form = document.form1;
//var name = document.form1.username.value;
//alert(name);

// 设置提交的路径
form.action = "success.html";
form.method = "get";
// 提交表单
form.submit();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值