学习JavaScript核心(一)-----快速概括
习惯了强类型静态语言,刚接触JavaScript时总感觉语法很松散,杂乱,以至于刚学就忘。不过随着学习的深入越来越感觉JavaScript的美妙,在此分享一下自己学习JavaScript的一点心得。
学习一门语言首先对语言有一个大概的认识,在这里对JavaScript做一个快速概括。
学习JavaScript我们主要了解一下它的 语法结构 和 数据类型 。至于它的控制结构和其他语言都差不多这里就不讲解了。
语法结构:
在JavaScript里变量的声明都一样皆为:var
1 var x;//声明一个变量x 2 //x值通过等号赋值给变量 3 x=0;
就这么简单。
数据类型:
JavaScript作为OOP语言,数据类型主要分为两种:原始类型 和 对象类型.
原始类型:包括数字(number),字符串(string)和布尔值(boolean)。JavaScript中还有两个特殊的原始值 null(空) 和 undefined(未定义),他们不是数字,字符串和布尔值。它们分别代表了各自特殊类型的唯一的成员。后续会详细讲解。
1 var x;//声明一个变量x 2 //x值通过等号赋值给变量 3 x=0; 4 //JavaScript支持的原始数据类型 5 x=1;//数字 6 x=0.01;//数字和实数公用一种数据类型 7 x="hello world";//由双引号的文本构成的字符串 8 x='JavaScript';//单引号的文本同样构成的字符串 9 x=true;//布尔值 10 x=false;//另一个布尔值 11 x=null;//null是一个特殊的值,意思是“空” 12 x=undefined;//undefined和null非常类似
JavaScript作为一门动态性语言数据类型是可以随时改变的。
这里介绍一个JavaScript的运算符 typeof----用来检测操作数据类型的
对象类型:
JavaScript中两个非常重要的数据类型是 对象 和 数组
1 //JavaScript中最重要的类型就是对象 2 //对象是 名/值对的集合,或字符串到映射的集合 3 var book={ //对象是由花括号括起来的 4 topic:"JavaScript", //属性"topic"的值是"JavaScript" 5 fat:true //属性"fat"的值是true 6 }; 7 //通过 "." 和 "[]"来访问对象属性 8 book.topic //==>"JavaScript" 9 book["fat"] //==>true;另外一种获取属性的方式 10 book.author="Flanagan"; //通过赋值创建一个新属性 11 book.contents={}; //是一个空对象,他没有属性 12 13 //JavaScript同样支持数字(以数字为索引的列表) 14 var primes=[2,3,5,7]; //拥有4个值,由"["和"]"划定边界 15 primes[0] //==>2: 数组中第一个元素(索引为0) 16 primes.length //==>4: 数组中元素的个数 17 primes[4]=9; //通过赋值来添加新元素 18 primes[4]=11; //通过赋值来改变已有的元素 19 var empty=[]; //[]是空数组,它具有0个元素 20 empty.length //==>0 21 22 //数组和对象中都 可以包含另一个数组或对象 23 var points=[ //具有两个元素的数组 24 {x:0,y:0}, //每个数组都是一个对象 25 {x:1,y:1} 26 ]; 27 var data={ //一个包含两个属性的对象 28 trial1:[[1,2],[3,4]],//每一个属性都是一个数组 29 trial2:[[2,3],[4,5]]//数组的元素也是数组 30 }
对象和数组的区别是 对象是 "命名值" 的无序集合;数组是一数字为索引的值的有序集合。
函数的声明就更简洁了所有函数声明都是 function 函数名(参数列表…………){}
1 function abs(x) { 2 if(x > 0) 3 return x; 4 else 5 return -x; 6 }
JavaScript函数可以写返回值也可以不写,不写的话函数返回 undefined。当然在JavaScript里函数是一个特殊的对象,后续会详细讲解。
这里对 JavaScript有一个快速的概括。学习JavaScript记住一句话我觉得就够了 " 一切皆为对象"当然这是OOP语言的基础,但是我觉得在JavaScript中体现的更明显。
posted on 2012-10-04 11:31 Arts&Crafts 阅读(1183) 评论(2) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?