语法基础

js语法基本沿袭了c的语法特点,如果学过c的朋友来开发js是非常容易入门的

  • 变量/常量
   const a = 100; //定义常量,不可变,强制更改会报错,另一种实现方式是闭包,请看javascript进阶篇里的闭包
   var b = 'bob'; //定义变量,通过var可以定义任意类型(目前是这样的哈)
   typeof(b); //输出string,typeof方法是系统内置函数,用来检测变量类型
  • 定义变量可以通过var 来定义,同时可以不用写var 直接用 c=true,区别在于前者是局部变量,后者是全局变量,我们提倡全部使用var来定义,这样不会对变量环境造成污染,如果你想定义一个全局变量,可以写在函数(函数下面会讲解)外面,或在js模块的开始定义。

  • 数据类型
数据类型 含义
string 字符串
boolean 布尔true/false
number 数字
array 数组
object 对象
undefined 未定义 对象不含有值
null 空值
  • 操作实例
var str = 'hello'; //定义字符串
var str1 = str + 'world' //字符串拼接 输出 helloworld
var bol = true; //定义布尔类型变量
typeof(bol);  //输出变量类型boolean
var num = 10; //定义num数字变量
var num1 = num - 5.5; //数字变量操作,输出4.5 ,num整型会自动转化为浮点类型
var arr = ['he','llo','world','!']; //定义数组
arr1=arr.join('');  //数组拼接 输出helloworld!
var obj = {'name':'bob','sex':'1'} //定义对象object
console.log(obj.name); //输出bob
document.write(obj['sex']); 输出1

  • 运算符
运算符 含义
+ 加号,数学运算和字符串连接符
- 减号,位于字符串前可将字符串类型转换为数字(取反)
*
/
% 取余
++ 自加
-- 自减
= 赋值
+= 符号左边元素等于符号左边元素加上右边元素,可用于数值和字符串
-= 符号左边元素等于符号左边元素减去右边元素,数值运算
*= 符号左边元素等于符号左边元素乘右边元素
/= 符号左边元素等于符号左边元素除右边元素
%= 符号左边元素等于符号左边元素对右边元素取余
delete 运算符删除对以前定义的对象属性或方法的引用
void 运算符对任何值返回 undefined,用于避免输出不应该输出的值
位运算符 NOT
& 位运算符 AND
竖杠(编辑器原因) 位运算符 OR
^ XOR 当前为两个不同为1
<< 左移运算 1<<10 = 1024
>> 有符号右移
>>> 无符号右移
&& AND 并且
双竖杠 OR 或者
> 大于
< 小于
>= 大于等于
<= 小于等于
== 当且仅当两个运算数相等时,它返回 true (如果类型不同则转换)
!= 当且仅当两个运算数不相等时,它返回 true (如果类型不同则转换)
=== 当且仅当两个运算数相等并且类型相同时,它返回 true ,不做类型转换
b?c:d 如果b成立则执行c,否则执行d
* 运算符不做过多案例,下面的文章中都会慢慢渗透

  • 条件判断IF-ELSE
var _a = 2; //定义一个变量_a
if(_a=1){   
    document.write(_a) //如果_a的值是1,则输出1
}else{
    _a=1;  
   docuement.write('change!') //如果不是1,则把_a的值设为1,并输出change!
}
//当然else if(){}在多种条件并存的情况下就有用武之地了~

  • switch-case条件判断语句和if-else语句都可以用来做条件判断使用,if-else的使用范围更广,同时也更常用一些。而switch-case语句在特定条件下使用可以使文档脉络更加清晰。
var day=new Date().getDay();
switch (day)
{
case 0:
  x="Today it's Sunday";
  break;
case 1:
  x="Today it's Monday";
  break;
case 2:
  x="Today it's Tuesday";
  break;
case 3:
  x="Today it's Wednesday";
  break;
case 4:
  x="Today it's Thursday";
  break;
case 5:
  x="Today it's Friday";
  break;
case 6:
  x="Today it's Saturday";
  break;
}
//这里从W3C上找来一个例子,在我经历过的项目中,使用switch来做条件判断的真不多。

  • 循环遍历
    • for 循环 (a,b,c) a语句为循环开始前定义,b是循环运行条件,c是代码块执行一次后运行代码
var count=0;   //定义变量count,用于存储和
for(var i =0;i<=10;i++){   //定义开始条件i=0;循环运行条件i<=10;代码块执行一次后运行代码i++;
   count+=i;  //求和 0-10
}
document.write(count);  //输出0-10 的和
  • for-in循环,一般用于遍历json对象
var _list=[{'name':'bob','sex':'1'},{'name':'lisa','sex':'0'}];   //定义一个json数组
for(x in _list){      
   document.write(x['name']);  //遍历数组,输出对象的名字
}
  • while 循环,一般用于单条件
var x=0;                 //同样使用for循环的例子,求0-10的和
var count=0;
while(x<11){
    count+=x;
    x+=1;
}
  • do-while 循环,和while相同,只是无论条件是否成立,都执行一次代码块
var x=0,count=0;
do{                          //同样使用for循环的例子,求0-10的和,但先执行do模块,然后再判断while条件。
  count+=x;
    x+=1;
}while(x<11);

  • try-catch-finally 错误捕捉,我们不能说优秀的程序员都会用,但我认为严谨的猿用上还是靠谱的。
try{
    //TODO something               业务逻辑都写在这里面
}catch(e){
     //当然这里也是可以执行代码的
     console.log('报错啦:'+e);
}finally{
    //去做你想做的事,谁也阻挡不了你
    console.log('我在最后执行,无论上面是否捕捉到错误~');
}

看到这里应该可以搞些事情了。。。

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

推荐阅读更多精彩内容