//所有的双斜线之后的内容都属于注释;
//变量是表示值的一个符号名字;
//变量是通过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. 【工具使用】sublime text3

    import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310 ...

  2. DSP, SSP, DMP

    先了解下广告的产业链有哪些人群: 广告主advertisers 显然是指想为自己的品牌或者产品做广告的人,例如宝马.Intel.蒙牛-- 媒体publisers       则是提供广告位置的载体,例 ...

  3. Node.js入门笔记(5):案例两则

    案例分析:前端自动化 1. 实现一个自动创建前端项目文件的js 通过node.js自动创建前端项目目录,包括js目录,js目录css目录,index.html和对应的内容. 初步的代码如下: var ...

  4. fedora 24 使用扇贝网页版没有声音

    (扇贝的官方答疑:https://www.shanbay.com/help/faq/no_voice/) 第4步下载MP3测试文件没办法使用: 似乎因为MP3格式的文件是的版权问题. 打算安装能处理M ...

  5. %我的 tex 模版

    %我的 tex 模版 \documentclass[UTF8,a1paper,landscape]{ctexart}%UTF8 中文支持,a1paper 纸张大小,landscape 横向版面,cte ...

  6. 深入理解redis持久化

    持久化方式: 快照(RDB)方式,默认方式,文件以二进制方式保存到RDB文件. 文件追加(AOF)方式,文件以协议文本的方式write到AOF文件. 作用,重启后的数据恢复.当两种方式都启用时,red ...

  7. [Unity] 在协程中等待指定的毫秒

    先写一个静态类: /// <summary> /// 公用基础函数库 /// <remarks>作者: YangYxd</remarks> /// </sum ...

  8. 探索ASP.NET MVC框架之控制器的查找与激活机制

    引言 前面一篇博文我们介绍了MVC框架的路由机制,我们知道一个URL请求如何从ASP.NET处理管线到达了IHttpHandler实例(MvcHandler).今天我们从MvcHandler来进行下一 ...

  9. 0、Web基本概念

    一.Web的概念: 本意是蜘蛛网和网的意思,在网页设计中我们称为网页的意思. 二.Web的分类:Internet上供外界访问的Web资源分为静态Web资源和动态Web资源两种. 1.静态Web资源:W ...

  10. SQLite的时候判断语句是否纯在:出现RuntimeException

    写SQLite的时候判断语句是否纯在: public boolean exist(long id) { String filter = FRIEND_KEY_ID + "=" + ...