第一章、JavaScript概述

JavaScript是一门高端的、动态的、弱类型的编程语言,非常适合面向对象和函数式的编程风格。JavaScript的语法源自Java,它的一等函数(first-class function)来自于Scheme,它的基于原型(prototype-based)的继承来自于Self。

JavaScript语言核心

//所有在双斜线之后的内容都属于注释

//仔细阅读这里的注释,它们对JavaScript代码做了解释

//变量是表示值的一个符号名字

//变量是通过Vvar关键字声明的

var x; //声明一个变量x

//值可以通过等号赋值给变量

x=0; //现在变量x的值为0

x //=》0:通过变量获取其值

//JavaScript支持多种数据类型

x=1; //数字

x=0.01; //整数和实数共用一种数据类型

x="hello world"; //由双引号内的文本构成的字符串

x='JavaScript'; //由单引号内的文本同样构成字符串

x=true; //布尔值

x=false; //另一个布尔值

x=null; //null是一个特殊的值,意思是"空"

x=undefined; //undefined和null非常的相似

//JavaScript中的最重要的类型是对象

//对象是名/值对的集合,或字符串到值映射的集合

  var book={  //对象是由花括号括起来的topic:"JavaScript", //属性"topic"的值是"JavaScript"fat:true          //属性"fat"的值是true};    //右花括号标记了对象的结束复制代码

//通过"."或"[]"来访问对象属性

  book.topic   //=>"JavaScript"book["fat"]  //=>true:另外一种获取属性的方式book.author="xufang";  //通过赋值创建一个新属性book.contents={};     //{}是一个空对象,它没有属性复制代码

//JavaScript同样支持数组(以数字为索引的列表)

  var primes=[2,3,5,7];   //拥有4个值的数组,由"["和"]"划定边界primes[0]      //=>2:数组中的第一个元素(索引为0)primes.length; //=>4:数组中的元素个数primes[primes.length-1] //=>7:数组的最后一个元素primes[4]=9;   //通过赋值来添加新元素primes[4]=11;  //或通过赋值来改变已有的元素var empty=[];   //[]是空数组,它具有0个元素empty.length    //=>0复制代码

//数组和对象中都可以包含另一个数组或对象:

  var points={{x:0,y:0},   //具有两个元素的数组{x:1,y:1}    //每个元素都是一个对象};var data={      //一个包含两个属性的对象trial1:[[1,2],[3,4]],   //每个属性都是数组trial2:[[2,3],[4,5]],    //数组的元素也是数组}复制代码

通过方括号定义数组和通过花括号定义对象属性名和属性值之间的映射关系的语法称为初始化表达式(initializer expression)

运算符(operator)

//运算符作用于操作数,生成一个新的值

//最常见的是算术运算符

3+2   //=>5:加法
3-2   //=>1:减法
3*2   //=>6:乘法
3/2   //=>1.5:除法
point[1].x - points[0].x  //=>1:更复杂的操作数也能照常工作
"3" + "2"  //=>"32":+可以完成加法运算也可以作字符串连接复制代码

//JavaScript定义了一些算术运算符的简写形式

var count=0;  //定义一个变量
count++;    //自增1
count--;    //自减1
count+=2;   //自增2:和"count=count+2"写法一样
count*=3;    //自乘3:和"count=count*3"写法一样
count;    //=>6:变量本身也是一个表达式复制代码

//相等关系运算符用来判断两值是否相等

//不等、大于、小于运算符的运算结果是true或false

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:两个字符串不相等
"two" > "three"   //=>true:"tw"在字母表中的索引大于"th"
false == (x > y)   //=>true:false和false相等复制代码

//逻辑运算符是对布尔值的合并和求反

(x == 2) && (y == 3)  //=>true:两个比较都是true,&&表示"与"
(x > 3) || (y < 3)   //=>false:两个比较不都是true,||表示"或"
!(x == y)   //=>true:求反复制代码

//函数是一段带有参数的JavaScript代码端,可以多次调用

function plus1(x){  //定义了名为plus1的一个函数,带有参数xreturn x+1;       //返回一个比传人的参数大的值
}            //函数的代码块是由花括号包裹起来的部分
plus1(y)         //=>4:y为3,调用函数的结果为3+1var square=function(){      //函数是一种值,可以赋值给变量return x*x;        //计算函数的值
};          //分号标识了赋值语句的结束
square(plus(y))             //=>16:在一个表达式中调用两个函数复制代码

当将函数和对象合写在一起时,函数就变成了“方法”(method)

//当函数赋值给对象的属性,我们称为"方法",所有的JavaScript对象都含有方法

var a=[];     //创建一个空数组
a.push(1,2,3)   //push()方法向数组中添加元素
a.reverse();     //另一个方法:将数组元素的次序反转//我们也可以定义自己的方法,"this"关键字是对定义方法的对象的引用,这里的例子是上文中提到的包含两个点位置信息的数组
points.dist=function(){         //定义一个方法用来计算两点之间的距离var p1=this[0];         //通过this获取对当前数组的引用var p2=this[1];           //并取得调用的数组前两个元素var a=p2.x - p1.x;      //x坐标轴上的距离var b=p2.y-p1.y;       //y坐标轴上的距离return Math.sqrt(a*a+b*b)     //用Math.sqrt()来计算平方根
}
points.dist();          //=>1.414:求得两个点之间的距离复制代码

JavaSctipt是一种面向对象的编程语言

//定义一个构造函数以初始化一个新的Point对象
function Point(x,y){   //按照惯例,构造函数均以大写字母开始this.x=x;            //关键字this指代初始化的实例this.y=y;        //将函数参数存储为对象的属性
}            //不需要return//使用new关键字和构造函数来创建一个实例
var p=new Point(1,1);   //平面几何中的点(1,1)//通过给构造函数的prototype对象赋值
//来给Point对象定义方法
Point.prototype.r=function(){return Math.sqrt(           this.x*this.x+this.y*this.y    //this指代调用这个方法的对象);
}//Point的实例对象p(以及所有的Point实例对象)继承了方法r()
p.r();复制代码
客户端JavaScript

JavaScript语言核心

|版权声明:本文为summer博主原创文章,未经博主允许不得转载。

《JavaScript权威指南第六版》学习笔记-JavaScript概述相关推荐

  1. javascript权威指南(第六版) 读书笔记

    第一部分 javascript语言核心 js是面向web的编程语言同时它也是动态类型语言,弱类型语言. 第二章   类型,值和变量-----编程语言中能够操作的值的类型称为数据类型(js中有两种数据类 ...

  2. JavaScript权威指南第六版中文扫描版电子书下载

    JavaScript权威指南下载链接: https://pan.baidu.com/s/1VsqtVZ7yu-3MEesESqNtwg 提取码获取方式:关注下面微信公众号,回复关键字: aujs

  3. JavaScript 权威指南--第七版--阅读笔记--number 部分

    Number 数字类型 JavaScript 的主要数字类型 Number 用于表示整数和近似实数. 当一个数字直接出现在 JavaScript 程序中时,它被称为 数字文字.JavaScript 支 ...

  4. JavaScript权威指南(第6版)中文版pdf

    JavaScript权威指南(第6版)中文版pdf JavaScript权威指南(第6版)中文版pdf 百度网盘下载链接:点击下载

  5. 【JavaScript权威指南(第七版)】之阅读学习总结

    写在前面 最近借着空闲时间断断续续两个月看完了<JavaScript权威指南(第七版)>,<JavaScript权威指南>一直以来被称为"犀牛书",前面的第 ...

  6. PMBOK(第六版) 学习笔记 ——《第七章 项目成本管理》

    系列文章目录 PMBOK(第六版) 学习笔记 --<第一章 引论> PMBOK(第六版) 学习笔记 --<第二章 项目运行环境> PMBOK(第六版) 学习笔记 --<第 ...

  7. 翻译:《JavaScript 权威指南(第5版)》第一章(一)

    声明:翻译只有一个目的:学习用途.若有版权问题请及时联系本人. 本贴文根据篇幅将第一章的翻译分为两个部分,这是第一部分的内容. Chapter 1. Introduction to JavaScrip ...

  8. PMBOK(第六版) 学习笔记 ——《第六章 项目进度管理》

    系列文章目录 PMBOK(第六版) 学习笔记 --<第一章 引论> PMBOK(第六版) 学习笔记 --<第二章 项目运行环境> PMBOK(第六版) 学习笔记 --<第 ...

  9. 《JavaScript权威指南第四版》 电子版 电子书下载

    JavaScript权威指南第四版 图书评价:★★★★☆ 图书语言:简体图书 图书大小:19.11MB 图书格式:PDF 图书作者:David Flanagan 更新日期:2006-05-23 下载次 ...

最新文章

  1. C++:随笔3--复杂的数据结构
  2. 百度地图- - - 鹰眼轨迹- - - -实时定位
  3. 大闸蟹谋定功能性养殖-丰收节交易会·李喜贵: 科技示范基地
  4. checkout 撤销修改_Git的4个阶段的撤销更改
  5. pip安装Flask失败
  6. python操作excel的读写
  7. Hybrid 开发:JsBridge - Web 和客户端的桥
  8. python的基础网络编程是下列_python基础 - 网络编程
  9. matlab图像模糊处理
  10. 国内外自动驾驶仿真软件总结
  11. CSTSOFT ActiveX GDIPlus Pack 2021.03
  12. TortoiseSVN 汉化
  13. dropbox 下载不了问题
  14. centos7:configure: error: perl >= 5.7.3 with Encode and Data::Dumper required by Texinfo.
  15. 三线npn型接近开关与三菱plc输入端子接线方法
  16. 基于Hyperlynx VX.2.5 的DDR3仿真之一:Verifying That the Software Recognizes Your Design Correctly
  17. FEM基函数:从理论推导到matlab实现形式
  18. Vue项目实战 —— 哔哩哔哩移动端开发—— 第一篇
  19. 用Excel公式怎么在一列中查找是否存在某字符串
  20. 求100以内的质数(Java版定义法、break优化,Math.sqrt()优化)

热门文章

  1. Fiddler (三) Composer创建和发送HTTP Request
  2. 量子计算竞速时代,如何拨动时间的指针
  3. Typescript在Vue项目中的使用
  4. 字典树--Xor问题
  5. [LeetCode]题解(python):140-Word Break II
  6. 运维工程师该干什么学些什么
  7. Segment Routing — SRv6 — 网络架构与应用场景
  8. Linux Kernel TCP/IP Stack — L2 Layer — switchdev L2 Offload
  9. PythonScript_demo--搭建PXE服务器
  10. u32和字符串的转换函数