一,变量
1.可以用new Array("1","2");来定义数组。
2.可以通过为变量赋值为null来清除变量,如:

//首先定义一个变量
var i1=10;
i1=null;
//此时的i1就被清除了

在函数里面这样定义变量的时候要注意

funtion demo(){x=10;
}
//而此前的代码中都没有出现x,那么这里就是定义了x,在调用demo函数以后,x就是一个全局变量了。

二.运算符==和===

var i="5";
var j=5;
if(i==j) alert(""hello);
if(i===j) alert("world");

//上面的代码运行后只会弹出hello,因为i和j的值是相等的,但是i和j的数据类型是不等的。所以==只要求值相等,但是===不但要求值相等还要要求数据类型也相等。

三,异常捕获

try{if() throw "";
}catch(err){alert(throw);
} 

四,事件
onload 网页加载事件
onclick 点击事件
onfocus 光标聚集事件
onselect 文本框选中事件
onmouseover 鼠标经过事件
onmouserout 鼠标移出事件

五,dom操作
1,介绍:当网页被加载时,浏览器就会创建页面的文档对象模型。

2、DOM操作HTML
1)js能够改变页面中的所有HTML元素
①改变输出流:document.write();会覆盖掉文档所有的内容!慎用!
②获得元素:document.getElementById();
document.getElementByClass();
document.getElementByTagName();等

其中像tagname和那么这种有可能会获得多个元素的方法,获得的元素变成一个对象数组,按顺序排列

document.getElementById("btn").addEventListener("click",function(){var x=document.getElementsByName("people");var y=x[2].value;alert(y);});

③改变Html内容:innerHTML;
④改变属性内容:获得对象后.属性=“属性值”则可,还可以用setAttribute()方法:第一个参数是属性名,第二个参数是属性值
document.getElementById("pid").setAttribute("class","pid2");

获得属性值的方法使用getAttribute();

alert(document.getElementById("name").getAttribute("name"));

dom控制html的一些方法:

          1,设置属性:如var attr=document.getElementById("demo1");attr.setAttribute("title","dhello");//设置属性var st=attr.getAttribute("title");//得到属性alert(st);2.得到子节点:var child=document.getElementsByTagName("ul")[1].childNodes;alert(child.length);3得到父节点: var parent=document.getElementsByTagName("li")[0].parentNode;alert(parent.nodeName);4创建元素节点:   var body=document.body;var inp=document.createElement("input");//创建一个input节点inp.type="button";//节点类型inp.value="ann";body.appendChild(inp);//把新的子节点添加到指定节点。(添加到末尾 )5创建文本节点6删除子节点:<div id="div1"><p id="p1">这是一个段落。</p><p id="p2">这是另一个段落。</p></div>var parent=document.getElementById("div1");//找到 id="div1" 的元素:var child=document.getElementById("p1");//找到 id="p1" 的 <p> 元素:parent.removeChild(child);//从父元素中删除子元素:第二种方法:var child=document.getElementById("p1");child.parentNode.removeChild(child);7动态添加节点(课选择添加的位置)var div=document.getElementById("div");var node=document.getElementById("pid");var newnode=document.creatElement("p");div.inserBefore(newnode,node);要添加的 在这之前的

2)js能够改变页面中所有的HTML属性
<!DOCTYPE HTML>
<html>
<head>

 <title>hello world</title>

</head>
<body>

 <a id="aid"/><p id=pid>hello world!!</p>

<script>

 document.getElementById("aid").href="www.baidu.com";//改变属性值

</script>
</body>
</html>

3)js能够改变页面中的所有CSS样式

document.getElementById("pid").style.backgrouneColor="red";

4)js能够对页面中所有事件做出反应

5)DOM对象控制HTML

六、事件句柄EventListener
事件句柄就是触发事件发生的一个动作。例如onclick就是当被点击的时候的句柄。
在js中可以添加事件句柄,这样可以减少很多代码量,
例如下面是传统的事件触发方式
<button οnclick="demo()">按钮</button>
在js代码中添加的事件句柄就如下:处理函数不能加()括号符!
var x=document.getElementById("btn");
x.addEventListener("click",demo);//这里有两个参数,一个是事件的句柄,后面的是处理事件的函数

删除句柄用removeEventListener();

七,事件
1.事件流:页面中接受事件的顺序,有两个顺序,分别是事件冒泡(从里到外),事件捕获(从外到里)。

2.事件处理:
1)HTML事件处理:直接添加到HTML结构中

<button onclick="demo()"><button>

2)dom 0级事件处理:把一个函数赋值给一个事件处理程序属性

<button id="btn"></button>
<script>
var btn1=document.getElementById("btn");
btn1.onclick= function () {document.getElementById("pid").style.backgroundColor="red";
};
</script>

//0级事件处理清除事件处理很简单只要把onclick赋值为空即可。设置的时候是对象的时间设置为null而不是对象设置为null!
btn1.οnclick=null;

//当有多个同个事件的处理程序的时候,前面的会被后面的事件处理程序清理掉。

btn1.onclick= function () {document.getElementById("pid").style.backgroundColor="red";//被覆盖
};
btn1.onclick= function () {document.getElementById("pid").style.backgroundColor="blue";
};

3)dom 2级事件处理:

 addEventListener("事件名",“事件处理函数”,“true/false”);

true:事件捕获
false:事件冒泡
清除事件处理要使用removeEventListener();

//dom 2级事件处理程序不会被覆盖而是会一步一步的解析执行。

4)IE事件处理程序。(小于等于IE8的版本中使用,跟addEventListener的使用方法相似。)

添加一个事件attachEvent
删除一个事件detachEvent

5)可以根据浏览器的版本不一样写不同的代码

if(btn.addEventListener){btn.addEventListener();
}
else{btn.attachEventListener()
}

3.事件对象:在触发dom事件的时候都会产生一个对象。

事件对象的属性:
1)type:获取事件类型

document.getElementById("btn").addEventListener("click",showType);
function showType(e){alert(e.type);
}

2)target:获取事件目标:哪里触发的这个事件,就是这个事件的对象是html元素中的什么元素。

document.getElementById("btn").addEventListener("click",showTarget);
function showTarget(e){alert(e.target);
}

3)stopPropagation():阻止事件冒泡:触发了最里面的元素事件的发生,但是这个事件发生之后包含此元素的上层元素的事件也会被触发!所以有的时候我们不希望这种情况的发生就会阻止事件冒泡的发生了。
event.stopPropagation();

4)preventDefault():阻止事件默认行为
event.preventDefault();

//dom 0级事件处理
// var btn1=document.getElementById("btn");
// btn1.οnclick= function () {
// document.getElementById("pid").style.backgroundColor="red";
// };
//
// btn1.οnclick=null;
dom 2级事件处理,处理函数不能加()括号符!
//

//var btn=document.getElementById("btn");
//btn.addEventListener("click",demo1);
//
//function demo1(){
//
alert("dom 2级事件处理!");
//
// document.getElementById("pid").innerHTML="dom 2级事件处理!";
//}

//事件对象

//1.获取事件对象的类型

//document.getElementById("btn").addEventListener("click",showType);
//function showType(e){
// alert(e.type);
//}

//2.获取事件对象的目标

//document.getElementById("btn").addEventListener("click",showTarget);
//function showTarget(e){
// alert(e.target);
//}

八,内置对象
1.什么是对象:js中所有事物都是对象,例如字符串,数组,时间,数值,函数等,每个对象都会带有属性和方法;
2.创建对象:
1)使用new object创建
people=new objet();
people.name="krys";
people.age=20;
2)直接创建:
people={name:"krys",age:20,addres:"guangdong"};
3)使用函数创建

funtion people(name,age){this.name=name;this.age=age};
son=new people("jess",20);//然后创建一个对象document.getElementById("btn").addEventListener("click",creat);
function people(name,age){this.name=name;this.age=age;}function creat(){var name1= document.getElementById("name").value;var age1=document.getElementById("age").value;son=new people(name1,age1);alert(son.name);alert(son.age);}

3.字符串对象:String:字符串可以使用双引号也可以使用单引号!

属性:length:str.length可得到字符串的长度、
indexOf(),在字符串中查找字符串,并返回字符串所在的位置。

document.getElementById("btn").addEventListener("click",creat);function creat(){var name= document.getElementById("name").value;if(name.match("krys")){alert("r所在的位置是"+name.indexOf("r"));}else{alert("sorry~you didnt have rights!")}}

match(),在字符串中匹配字符串,如果字符串1在字符串中存在,则将字符串1打印出来,如果没有就返回NULL

document.getElementById("btn").addEventListener("click",creat);function creat(){var name= document.getElementById("name").value;if(name.match("krys")){alert(name);}else{alert("sorry~you didnt have rights!")}}

replace(a,b) a是要替换掉的原来的字符或字符串,b是新的字符或字符串

document.getElementById("btn").addEventListener("click",creat);function creat(){var name= document.getElementById("name").value;if(name.match("krys")){alert(name.replace("krys","krys小仙女"));}else{alert("sorry~you didnt have rights!")}}

toUpperCase()转换成大写
toLowerCase()转换成小写
split()分隔线,将一个字符串分隔成若干部分,如str="hello,world,welcome,to";var s=str.split(","); s[0]="hello";

4.Date对象
1)创建Date对象:
var date=new Date();
alert(date);
var h=date.getHours();//时
var m=date.getMinutes();//分
var s=date.getSeconds();//秒

2)获取具体年份:getFullYear();
3)获取毫秒数:getTime();
4)设置具体的日期:setFullYear();
5)获取星期:getDay();

6)设置每秒更新一次
setTimeout(function(){

 showTime();},1000);

//每秒调用一次showTime函数

5.数组对象:
1)数组的创建:var a=["1","krys","ok"];
var a=new Array(); a[0]="hell0"; a[1]="world";
var a=new Array("hello","world","welcome");
2)数组常用的方法:
concat()合并数组如 a=["krys"];b=["tal"];a.concat(b)=krystal;
sort()排序数组 var a=["a","c","b"];a.sort();->a b c (默认从低到高排序)
设置为降序:a.sort(funtion(a,b){return a-b;})
push()在数组末尾添加一个元素var a=["a","c","b"]; a.push("d");
reverse()翻转,对称中心点相互交换:a.reverse()= c b a ;

6.math对象
1)常用函数
round()四舍五入 Math.round(2.5)=3;
random()返回0~1之间的随机数 Math.random();
可以转换成整数:parseInt(Matn.random()*10);
max()返回最大值
min()返回最小值
abs()返回绝对值

九,浏览器的内置对象BOM(browser object model)
1,window对象:大部分对象的祖先,最高级别对象之一。

1)简介:Window对象是指当前的浏览器窗口,所有的js全局变量函数以及变量都是Window对象的成员。
其中,全局变量是window对象的属性,全局函数是window对象的方法。

2)获得浏览器内部窗口的尺寸(即内容区域的尺寸,不包括滚动条工具栏等):
window.innerHeight浏览器窗口的内部高度,window.innerWidth,浏览器的内部宽度。

3)使用window.open(url)可以打开一个窗口,使用window.close()可以关闭当前窗口。

2,history对象
window.history()对象包含浏览器的历史(url)的集合
有三个方法:
1)history.back()后退,返回到前一页
2)history.forward(),前进,进入到下一页
3)history.go(),带参数,参数就是要进入的页数,-1是前一页,-2是前两页,依次类推,当前页是0.

3,计时器
通过使用js,在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行
有两个函数
一个是setInterval()-间隔指定的毫秒数持续的执行指定的代码
一个是setTimeout()-暂停指定的毫秒数后执行指定的代码。
可以使用setTimeout来实现setInterval()的功能:就是在调用的函数代码里调用自己!
setInterval(funtion(){},1000);
setTimeout(funtion(){},1000);

可以使用clearInterval(),clearTimeout()来清楚这个调用,

4,Location对象
用于获得当前页面的地址,并把浏览器重定向到新的页面(其实我的理解就是解析当前地址)

Location对象的属性:
location.hostname:返回web主机的域名
location.pathname:返回当前页面的路径和文件名
location.port:返回web主机的端口
location.protocol:返回所使用的web协议
location.href:返回当前页面的url
location.assign()加载新的文档,参数是所要加载文档的路径。

window.location.hostname;

5,screen对象
window.screen对象包含有关用户屏幕的信息
screen.avaiilWidth;//可用的屏幕高度
screen.availHeight;//可用的屏幕宽度
screen.height;//屏幕高度
screen.width;//屏幕宽度

6,navigation对象
7,弹出窗口,cookie

十,js面向对象思想

JavaScript要点(不含有语言基础语法)相关推荐

  1. 【Day3 C语言基础语法学习-2】

    Day3 C语言基础语法学习-2 一.输入输出函数 1.1 getchar()/putcgar() 1.1.1getchar() 1.1.2 putchar 1.2 gets()/puts() 1.2 ...

  2. Go语言基础语法讲解与学习

    Go语言基础语法讲解与学习 1 Go语言基础知识介绍 ​ 介绍Go语言之前,我们先了解一下有哪些开源项目是Go语言开发的,其中就包括 Docker.Go-Ethereum.Thrraform 和 Ku ...

  3. Go语言基础语法--注释、基础结构2

    章节 GO语言基础语法--注释.基础结构(重要) 1.GO语言基础语法---注释.基础结构 //程序所属的包,且必须在源文件代码第一行 package mainimport "fmt&quo ...

  4. 一篇文章带你玩转C语言基础语法5:条件判断 if else 语句与分支 。(千字总结)

    我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位

  5. Go语言 基础语法学习 (未完待更......

    文章目录 一 Go语言结构 1 Go Hello world实例 2 执行Go程序 二 Go语言基础语法 1 Go标记 2 行分隔符 3 注释 4 标识符 5 一些关键字 6 Go语言的空格 7 格式 ...

  6. C语言基础语法【1】

    目录 1.在linux系统编写C语言,基本命令:变量.常量.标识符 2.数据类型.取值范围.字符串 3.短路原则.类型转换 4.switch语句.for.while循环.死循环 1.在linux系统编 ...

  7. 一篇文章带你玩转C语言基础语法。2:数据类型。千字总结

    我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位

  8. GO 语言基础语法一 (快速入门 Go 语言)

    Go语言基础语法 一. golang 标识符,关键字,命名规则 二. golang 变量 三. golang 常量 四. golang 数据类型 五. golang 布尔类型 六. golang 数字 ...

  9. 【Go编程语言】 Go语言基础语法

    Go语言基础语法 文章目录 Go语言基础语法 一.注释 1.单行注释 2.多行注释 二.变量 1.变量的定义 2.变量的初始化 3.理解变量(内存地址) 4.变量交换 5.匿名变量 6.变量的作用域 ...

最新文章

  1. java final关键字_终于明白 Java 为什么要加 final 关键字了!
  2. Scala学习之字符串篇(六):使用正则表达式
  3. 马斯克再创历史!人类首个商业载人飞船发射成功:移民火星又近一步
  4. think php union,UNION -ThinkPHP3.2.3完全开发手册 | AnSpoon.Com
  5. [转载] [556]python实现神经网络
  6. RAC 特点   character
  7. Object中Equals和ReferenceEquals不解之谜
  8. LINUX下用C遍历一个目录的代码
  9. ubuntu14.04 安装tensorflow始末
  10. java前端学习路线_Java前端需要学什么?Java前端学习路线分享
  11. 上海大华条码称代码_【参考借鉴】上海大华条码秤使用说明书.doc
  12. excel画风玫瑰图_教大家Excel如何绘制线性玫瑰图
  13. 聊聊NPS-提升用户体验的终极问题
  14. 程序员凌晨闲暇无聊时干什么
  15. java语言将一个字符串集合按GBK编码(简体中文按拼音顺序)排序
  16. vue中Promise的用法
  17. 转载:farey(法莱)数列
  18. php 上传图片 添加水印,上传图片添加水印?该怎么解决
  19. people who change the files in the active changelist also change
  20. 精确率和召回率 与 置信度之间的关系

热门文章

  1. EDIUS实现跟踪马赛克效果的教程
  2. java用正则表达式表示非法字符_非法字符的正则表达式
  3. visio多树枝直角加箭头_零基础国画教程:树枝基本画法详解,简单易学,小白也能学会!...
  4. AI+医疗:图表示学习在新药发现中的妙用
  5. 【菜鸟教程】Python 100例编程题--适合新手(1)
  6. day02-docker安装MySQL8
  7. 英语语言学u c,06422英语语言学 — 新编简明英语语言学教程, 戴炜栋
  8. 真会玩!刘强东搞了个”猪脸识别“比赛,冠军奖单人能拿30万!
  9. 防火墙策略管理小工具——网络安全
  10. python合并excel工作簿_Python pandas实现excel工作表合并功能详解