//所有的双斜线之后的内容都属于注释;
//变量是表示值的一个符号名字;
//变量是通过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 核心语言笔记的更多相关文章

  1. javascript 核心语言笔记- 3 - 类型、值和变量

    JavaScript 中的数据类型分为两类:原始类型(primitive type)和对象类型(object type).原始类型包括数字.字符串和布尔值 JavaScript 中有两个特殊的原始值: ...

  2. javascript 核心语言笔记 6 - 对象

    对象是 JavaScript 的基本数据类型.是一种复合值:将很多值聚合在一起.对象可以看做是无序集合,每个属性都是一个名/值对.这种基本数据结构还有很多叫法,比如「散列」(hash).「散列表」(h ...

  3. javascript 核心语言笔记 5 - 语句

    表达式在 JavaScript 中是短语(phrases),那么语句(statements)就是 JavaScript 整句或命令,语句以分号结束.表达式计算出一个值,语句用来执行以使某件事情发生 表 ...

  4. javascript 核心语言笔记 4 - 表达式和运算符

    表达式(expression)是 JavaScript 中的一个短语(phrases),JavaScript 解释器会将其计算(evaluate)出一个结果.程序中的常量.变量名.数组访问等都是表达式 ...

  5. javascript 核心语言笔记- 2 语法结构

    字符集 JavasSript 程序是用 Unicode 字符集 编写的,Unicode 是 ASCII 和 Latin-1 的超集,支持几乎所有在用的语言.ECMAScript 3 要求 JavaSc ...

  6. javascript权威指南笔记--javascript语言核心(一)

    1.javascript的数据类型分为两类:原始类型和对象类型. 原始类型包括字符串.数字.布尔值.null.undefined. 对象是属性的集合,每个对象都由“名/值”对构成.数组和函数是特殊的对 ...

  7. 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!【转载+整理】

    原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructu ...

  8. JavaScript 核心参考教程 内置对象

    这个标准基于 JavaScript (Netscape) 和 JScript (Microsoft).Netscape (Navigator 2.0) 的 Brendan Eich 发明了这门语言,从 ...

  9. 一.javascript核心部分:1.词法结构

    本文作为个人学习笔记,一直也没有重视javascript的系统学习(javascript是最容易被人忽视的语言),我都是要用的时候百度一下查找下资料开始用,但没有系统的,学习,和整理过javascri ...

随机推荐

  1. VSS每次打开都需要服务器账号和密码的解决方法

    最近在做的一个项目还在使用非常非常古老的VSS(Microsoft Visual SourceSafe)2005,是的,没有看错,是VSS2005,而不是Git或是SVN.然后我的VSS在安装过后遇到 ...

  2. 利用Microsoft.Practices.Unity的拦截技术,实现.NET中的AOP

    1.记住这个单词的意思:Interception(拦截) 2.首先说一下原理和背景 原理:所谓的AOP就是面向切面编程,这里不多说,百度搜索. 目的:个人认为是为了解耦,部分代码跟业务代码分离,业务代 ...

  3. 推公式 HDU 2552

    T 给你2个值 求另外一个 需要推一下 tan(a+b)=(tan(a)+tan(b))/(1-tan(a)*tan(b)); 等式左右取tan tan(atan(a))=a 1/s=tan(...) ...

  4. Spring+EhCache缓存实例

    一.ehcahe的介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider.Ehcache是一种广泛使用的开源Java分布式 ...

  5. 控件之媒体控件: Image, MediaElement

    Image - 图片控件 MediaElement - 播放视频或音频的控件 示例1.Image 的 DemoImageDemo.xaml <Page x:Class="XamlDem ...

  6. Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the co

    log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFact ...

  7. Java Web的传值汇总(含JavaBean)

    前言: 其实JavaBean就像asp.net MVC上的Model传值一样.

  8. 学习笔记——git

    恩没错,又是个新东西 使用Git提交文件到版本库有两步: 第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区. 第二步:使用git commit提交更改,实际上就是把暂存区的 ...

  9. sqlalchemy入门记录

    前言 发现翻译全文时间比较久,所以先整个简单的使用说明吧 安装SQLAlchemy pip install sqlalchemy 查看SQLAlchemy版本 In [1]: import sqlal ...

  10. e-chart 本地加载中国地图

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...