1 javascript 核心语言笔记
//所有的双斜线之后的内容都属于注释;
//变量是表示值的一个符号名字;
//变量是通过var 关键字声明的;
var 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中两个非常重要的数据类型是对象和数组
//javascript中最重要的类型就是对象
//对象是名/值对的集合,或字符串到值映射的集合
var book = {
topic: 'javascript',
fat: true
};
//通过“. ”或“[]”来访问对象属性
book.topic // => javascript
book["fat"] // =>返回的是true 另外一种获取属性的方式
book.author = "flanagan"; //通过赋值来创建一个属性
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]] //数组的元素也是数组
};
javascript中常见的表达式写法像下面代码这样使用运算符(operator):
//运算符作用于操作数,生成一个新的值
//最常见的算术运算符
3 + 2 // =>5 : 加法
3 - 2 // =>1 : j减法
3*2 // =>6 : 乘法
3/2 // => 1.5 : 除法
points[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 <) //=> false :两个比较都不是true, ||表示"或"
!(x == y) //=> true : !求反 //函数是带有名称(named)和参数的javascript代码段,可以一次定义多次调用 function plus1(x){ //定义了名为plus1的一个函数,带有参数的x
return x +1 //返回一个比传入的参数大的值
} // 函数的代码块有花括号包裹起来的部分
plus1(y) //=> 4 :y为3,调用函数的结果为3+1
var square = function(){ //函数是一种值,可以复制给变量
return x*x //计算函数的值
}; //分号标示了赋值语句的结束
square(plus1(y)) // => 16 :在一个表达式中的调用两个函数
//当将函数和对象合写在一起时,函数就变成了“方法”(method):
//当函数赋值给对象的属性,我们称为“方法”,所有的javascript对象都含有方法
var a =[]; //创建一个空数组
a.push(1,2,3); //push()方法向数组中添加元素
a.reverse(); //另一个方法 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-o1.y; //y坐标轴上的距离
return Math.sqrt(a*a + b*b) //勾股定理 用Math.sqrt()来计算平方根
};
points.dist(); //=> 1.44 求得两点之间的距离 // 这些javascript语句使用该语法包含条件判断和循环
function abs(x) { //球绝对值函数
if(x>=0){ //if语句
return x; //如果为true则执行这里的代码
}else{ //if条件不满足时执行else语句
return -x;
}
} function factorial(n) { //计算阶乘函数
var product=1; //product赋值为1
while(n>1){ //当n大于1时执行花括号语句
product *=n; //product*=n 是 product= produtct*n的简写形式
n--; //n--;是 n=n-1的简写形式
}
return product; //返回product
}
factorial(4); //=>24: 1*4*3*2 function factorial2(n) { //实现循环的另一种函数写法
var i,product =1; //product赋值为1
for(i=2;i<n;i++){ //将i从2自增到n;
product *=i; //循环体,当循环只有一句话可以省略{};
return product;
} }
factorial2(5); //=> 120 : 1*2*3*4*5; //javascript是一种面向对象的编程语言
//定义一个构造函数以及初始化一个新的point对象
function Point(x,y) { //按照惯例,构造函数均已大写字母开始
this.x=x; //关键字this指代初始化的实例
this.y=y; //将函数参数储存为对象的属性 } var p= new Point(1,1); //使用new关键字和构造函数来创建一个实例
Point.prototype.r =function() { //通过给构造函数的prototype对象赋值来给point对象定义方法
return Math.sqrt(
this.x*this.x+this.y*this.y;
)
};
// point实例对象p(以及所有的point实例对象)继承了方法 r()
p.r(); //=>1.414...
1 javascript 核心语言笔记的更多相关文章
- javascript 核心语言笔记- 3 - 类型、值和变量
JavaScript 中的数据类型分为两类:原始类型(primitive type)和对象类型(object type).原始类型包括数字.字符串和布尔值 JavaScript 中有两个特殊的原始值: ...
- javascript 核心语言笔记 6 - 对象
对象是 JavaScript 的基本数据类型.是一种复合值:将很多值聚合在一起.对象可以看做是无序集合,每个属性都是一个名/值对.这种基本数据结构还有很多叫法,比如「散列」(hash).「散列表」(h ...
- javascript 核心语言笔记 5 - 语句
表达式在 JavaScript 中是短语(phrases),那么语句(statements)就是 JavaScript 整句或命令,语句以分号结束.表达式计算出一个值,语句用来执行以使某件事情发生 表 ...
- javascript 核心语言笔记 4 - 表达式和运算符
表达式(expression)是 JavaScript 中的一个短语(phrases),JavaScript 解释器会将其计算(evaluate)出一个结果.程序中的常量.变量名.数组访问等都是表达式 ...
- javascript 核心语言笔记- 2 语法结构
字符集 JavasSript 程序是用 Unicode 字符集 编写的,Unicode 是 ASCII 和 Latin-1 的超集,支持几乎所有在用的语言.ECMAScript 3 要求 JavaSc ...
- javascript权威指南笔记--javascript语言核心(一)
1.javascript的数据类型分为两类:原始类型和对象类型. 原始类型包括字符串.数字.布尔值.null.undefined. 对象是属性的集合,每个对象都由“名/值”对构成.数组和函数是特殊的对 ...
- 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!【转载+整理】
原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructu ...
- JavaScript 核心参考教程 内置对象
这个标准基于 JavaScript (Netscape) 和 JScript (Microsoft).Netscape (Navigator 2.0) 的 Brendan Eich 发明了这门语言,从 ...
- 一.javascript核心部分:1.词法结构
本文作为个人学习笔记,一直也没有重视javascript的系统学习(javascript是最容易被人忽视的语言),我都是要用的时候百度一下查找下资料开始用,但没有系统的,学习,和整理过javascri ...
随机推荐
- jQuery之Ajax--底层接口
1. $.ajax()方法:是jQuery最底层的Ajax实现.它的结构为:$.ajax(options).该方法只有一个参数,但在这个对象里面包含了$.ajax()方法所需要的请求设置以及回调函数等 ...
- 线段树 poj 1436
题目大意:给出n条垂直于x轴的线段的数据y1,y2,x,求出有几个三条线段一组的三元组并且他们兩兩能相见的.思路:对y轴建树,将x排序,然后按顺序边询问边擦入,用mark[i][j]表示j往左可以看到 ...
- Ubuntu下sphinx使用
Ubuntu安装 参考文档 进入sphinx mysql -h0 -P9306 查询 select * from 索引名
- jQuery控制表头
<!doctype html><html lang="en"><head> <meta charset="UTF-8" ...
- Architectural Model - SNMP Tutorial
30.3 Architectural Model Despite the potential disadvantages, having TCP/IP management software oper ...
- [Unity3D]粒子系统学习笔记
粒子阴影的处理 通过Material填充粒子系统的render后,默认是显示阴影的: 可以通过设置来调整: 调整后的效果, 每个粒子就没有阴影了 增加粒子效果 设置为合成的材质,效果显示加倍: 添加子 ...
- C++ 11 中的右值引用
C++ 11 中的右值引用 右值引用的功能 首先,我并不介绍什么是右值引用,而是以一个例子里来介绍一下右值引用的功能: #include <iostream> #include &l ...
- Asp.net MVC Comet推送
一.简介 在Asp.net MVC实现的Comet推送的原理很简单. 服务器端:接收到服务器发送的AJAX请求,服务器端并不返回,而是将其Hold住,待到有东西要通知客户端时,才将这个请求返回. 客户 ...
- 2016-03-04记录 H264.TXT 转成 H264.h264
H264.TXT文件 来源于板子上串口输出的数据,需要把该数据转成 *.h264用 H264的软件打开观察 txt中数据截图如下: MATLAB读入数据的代码: clc;close all;clear ...
- 关于学习JavaScript 的 高三编程 一些心得(二)
今天在看高三的过程中,解决了之前我在 面试过程中遇到的一个问题. 就是将一段英文 颠倒过来. 下面就是我的代码: var zhang = "my name is zhangge !" ...