JavaScript基本概念

语法

区分大小写

标识符:第一个字符必须是字母、下划线、或一个美元符号;其他字符可以是字母、下划线、美元符号或数字。

注释:单行//;多行/* */,C语言风格的注释。

变量

松散类型,可以用来保存任何类型的数据。每个变量仅仅是一个用力保存值的占位符而已。定义变量时要使用var操作符,后跟变量名。在局部作用域中的变量在推出时会被销毁。如果省略了var操作符,变量就变味全局变量了。但此种方式不推荐使用。

数据类型

五种简单数据类型:Undefined、Null、Boolean、Number、String。一种复杂数据类型Object。并且不支持任何创建自定义类型的机制,所有值最终都将是上述6种数据类型之一。

typeof操作符

用于检测变量的数据类型,是操作符而不是函数。对一个值使用typeof可能返回的结果:值未定义, “undefined”;boolean,“boolean”;字符串,“string”;数值,“number”;对象或null,“object”;函数,“function”。

Undefined类型

使用var定义但是没有初始化的时候,这个变量的值就是undefined。如果一个变量没有声明,那么使用typeof操作符时也会返回undefined。但是如果直接alert会产生错误。

Null类型

如果定义的变量准备用于保存对象,那么最好将该变量初始化为null。直接检查null值就可以知道相应的变量是否已经保存了一个对象的引用了。undefined值派生自null值。

Boolean类型

类型转换:

非空字符串 true   空字符串 false;非0数值 true 0和NaN false;非null true

Number类型

NaN:任何涉及的操作都会返回NaN,并且,与任何值都不相等,包括自身。

isNaN():

isNaN(NaN) true; isNaN(10) false; isNaN("10") false; isNaN("blue") true; isNaN(true) false

数值转换

Number()转换规则:

true 1,false 0;null 0;undefined NaN;

字符串:只有数字,十进制数字;包含有效浮点格式,浮点数值;有效十六进制格式,相同大小的十进制;空,0;其他,NaN;

对象:调用value(),如果结果为NaN,调用toString()。

parseInt():

parseInt("1234blue") 1234;parseInt("") NaN; parseInt("0xA") 10;parseInt(22.5) 22;parseInt("070") 56。

parseFloat():

String类型

字符串是不可变的,也就是一旦创建,它们的值就不能改变,要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量。

转换为字符串:toString()

Object类型

var o = new Object();//不推荐省略括号

每个实例都有下列属性和方法:

Constructor:构造函数

hasOwnProperty(propertyName):检查给定的属性在当前对象实例中是否存在

isPrototypeOf(object):检查传入的对象是否是另一个对象的原型

propertyIsEnumerable(propertyName):检查给定的属性是否能够使用for-in语句来枚举

toLocaleString():返回对象那个的字符串表示,该字符串与执行环境的地区对应

toString():返回对象的字符串表示

valueOf():返回对象的字符串、数值或布尔值表示。通常与toString返回值相同。

操作符

一元操作符

递增和递减操作符 ++ --

一元加和减操作符 + -

位操作符

~ & | ^  << >> >>>

布尔操作符 

!&& ||

乘性操作符

* / %

加性操作符

+ -

关系操作符

< > <= >= 

相等操作符

== != === !==

条件操作符

?:

赋值操作符

=

逗号操作符

,

语句

if (condition) statement1 else statement2

do { statement } while (expression)

while (expression) statement

for (initialization; expression; post-loop-expression) statement

for (property in expression) statement

label:statement

break continue

with (expression) statement

switch (expression) { case value: statement break;}

函数

function functionName (arg0,arg1,......,argN){ statements }

参数

arguments对象参数数组

没有重载

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容