Js是什么?
js是用来描述网页行为,浏览器识别语言
js大体分为两部分,一部分是js核心语言,另一部分是客户端语言
这本书我们将关注js的基本知识;第二章讲解了js的注释、分号和unicode字符集,
第3章主要讲js的变量和赋值
js最重要的是数据类型是对象数组,数组和对象在JS中很重要
1.1什么是对象?
1.1.1对象是名/值对的集合,或字符串到值映射的集合
1.1.2 对象是由花括号括起来
1.1.3 属性topic的值是js
1.1.4 属性fat的值是true
1.1.5 右侧花括号表示对象的结束
1.1.6 可以用过.或者[]来访问对象的属性
1.1.7 通过赋值可以创建一个新的属性
var book = {
topic: 'js',
fat:true
}
book.topic;
book.fat;
book.author='jiaojiao'
js同样支持数组(以数组为索引的列表)
var primes=[2,3,5,7];
primes[0];//获取数组的第一个值,0是数组的索引值,一般从0开始
primes.length;//获取数组的长度
primes[4]=11;//可以通过赋值改变已有的元素
数组和对象中可以包含另一个数组和对象
var points=[{x:0,y:0},{x:1,y:1}];
var data={
trial:[[1,2],[3,4]],
trial1:[[3,4],[5,6]]
}
js最常见的表达式写法是运算符
console.log(3+2);//5 加法
console.log(3-2);//1 减法
console.log(3*2);//6 乘法
console.log(3/2);//1.5除法
console.log(points[1].x-points[0].x);//1更复杂的数也能照常工作
console.log('3'+'2');//+加法运算可以当做字符串的连接
var count=0;//定义一个变量
count++;//自增1
count--;//自减一
count+=2;//自增2
count-=2;//自减2
count*=3;//自乘3
count;//变量成名也是表达式
//相等关系运算符来判断两值是否相等
var x=2,y=3;//这里的等号是赋值的意思,并不是相等
x==y;//false 相等
x!=y;//true 不等
x<y;//true 小于
x<=y;//true 小于等于
x>y;//false 大于
x>=y; //false 大于等于
'two'=='three';//false 两个字符串不相等
false==(x>y);//true false和false相等
//逻辑运算符是对布尔值的合并或求反
(x==2)&&(y==3); //true,两个比较都是true,&&表示与
(x>3)||(y<3);//false,两个比较都不是true,||表示或
!(x===y);//true !求反
如果js的短语是表达式,那么整个句子就称做语句,以分号结束的行都为一条语句,表达式可以计算出一个值,它不改变程序的运行状态,而语句可以改变js的运行状态上述代码中我们已经见过变量声明和赋值语句,另一类语句是控制结构
函数是带有名称和参数的js代码段,可以一次定义多次调用
function plus(x){
return x+1;
}
plus(4);//5
当将函数和对象合写在一起时,函数就成了方法,当函数赋值给对象的属性时,我们就成为方法
var points=[{x:0,y:0},{x:1,y:1}];
points.dist=function(){
var p1=this[0];
var p2=this[1];
var a=p2.x-p1.x;
var b=p2.y-p1.y;
return Math.sqrt(a*a+b*b);
}
points.dist();
控制语句,判断语句
function abs(x){
if(x>=0){
return x;
}else{
return -x;
}
}
abs(-5);
function factorial(n){
let product=1;
while(n>1){
product *= n;
n--;
}
return product;
}
console.log(factorial(4));
function factoRial2(n){
var i,product=1;
for(i=2;i<=n;i++){
product *= i;
}
return product;
}
console.log(factoRial2(5));
js是一种面向对象的语言,和传统的面向对象有很大的差别,js第九章详细的讲解了js中面向对象的编程。这个实例化对象有一个名为r()的方法
1.1按照惯例构造函数均以大写字母开始
1.2关键字this指向初始化实例
1.3将函数参数存储为对象的属性
function Point(x,y){
this.x=x;
this.y=y;
}
var p = new Point(1,1);
Point.prototype.r=function(){
return this.x*this.x+this.y*this.y
}
console.log(p.r());
第10章讲解了正则表达式
第11章讲解语言的子集和超集
第12章讲解了除了we浏览器之外的,两种运行环境
客户端的js
该章讲解了如何让js在web浏览器运行起来, js可以通过<scirpt src=''></scirpt>
第14章讲解了web浏览器端的脚本技术,并涵盖了客户端js中的一些重要全局函数
function moveon(){
var answer=confirm('准备好了吗');
if(answer) window.location='http://taobao.com'
}
setTimeout(moveon,4000)
第15章通过脚本来操控html文档内容。它将展示如何选取特定的HTML元素,如何给HTML元素设置属性,如何修改元素内容,以及如何给文档添加新的节点
function debug(){
var log=document.getElementById('debuglog');
if(!log){
log=document.createElement('div');
log.id='debuglog';
log.innerHTML='<h1>Debug Log</h1>'
document.body.appendChild(log);
}
}
debug();
第16章讲述了如何使用js来进行css样式操作
function hide(e,reflow){
if(reflow){
e.style.display='none'
}else{
e.style.visibility='hidden'
}
}
function highlight(e){
if(!e.className){
e.className='hilite'
}else{
e.className += 'hilite'
}
}
17章主要讲了事件类型 鼠标点击事件,键盘事件,窗口变大变小事件,或用户向,HTML表单元素中输入数据时便会触发一个事件,onclick onload
18章如何用js发起http请求
19章讲述jq的使用
20章讲述了数据存储
21章讲述canvas的使用
22章H5提供新的一些API
网友评论