JavaScript 是一种轻量级的编程语言,很容易学习,同时也是一种被广泛用于客户端Web开发的脚本语言。通过本课程学习,我们可以了解到JavaScript的基本语法知识,以及怎样使用它去创建简单的游戏和应用。

1.获取字符的长度

"youName".length;

2.使用"+"加法、"-"减法、"*" 乘法和"/"除法,对两个数字进行运算;

3."//"是注释,注释是一个文本行,JavaScript无法运行这行代码。它只是用来让人们阅读的。

4.这是JavaScript(JS)编程语言。编程语言有很多语言,但JS有许多用途,很容易学习。

我们可以使用JavaScript来做什么?

  1. 使网站对用户交互作出响应
  2. 构建应用程序和游戏(例如二十一点)
  3. 在互联网上获取信息(如在Twitter上找出热门词的主题)
  4. 组织和显示数据(如电子表格自动化工作;数据可视化)
confirm('这是一个例子,使用JS在网站上创建一些交互。单击确定继续!');

5.输入

prompt("你叫什么名字?");
prompt("你多大了?");

6.数据有各种类型,您已经使用了两个。

  1. number: 数量,你可以做数学,number在您的代码中,只是写一些数字没有引号:42190.12334
  2. string:是字符的序列,像字母a - z一样,空格,甚至数字。这些都是字符串:"Ryan""4""你叫什么名字?"

还有一种类型是boolean,布尔值。它有两个值truefalse。例如,比较两个数字返回真或假的结果:23 > 10 是 true

var length = "我编码如飞".length;
console.log(length);
length > 10

7.console.log()会将括号内的内容打印到控制台;

8.到目前为止,我们已经学习了三种数据类型:

  1. strings (例: "dogs go woof!")
  2. numbers (例: 4,10)
  3. booleans (例: false, 5 > 4)

比较运算符列表:

  1. > 大于
  2. < 小于
  3. <= 小于等于
  4. >= 大于等于
  5. == 等于(等同)
  6. === 等于(恒等)
  7. !== 不等于

注意:  "==" 两边值类型不同的时候,会进行类型转换,再比较。  "==="不做类型转换,类型不同的一定不等。  例如:5 == "5" 结果为true,而5 === "5" 结果为false

console.log(15 > 4); // 15 > 4 判断为true,所以打印结果是true
console.log("Xiao Hui".length<122);
console.log("Goody Donaldson".length<8);
console.log(8*2===16);

9.if语句是由if关键词、一个条件和一对大括号{ }组成。如果条件的结果是true,花括号内的代码将运行。

if( "youName".length >= 7 ) {console.log("你有一个很长的名字!");
}

if( "myName".length >= 7 ) {alert("你的名字很长!");
}else {alert("你的名字很短");
}

10.我们遇到一个有趣的符号称为 "%" 模。放在两个数字之间时,计算机将第一个数字除以第二个,然后返回余数。所以如果我们计算 23 % 10 ,我们用23除以10,结果为2,余数是3,所以23%10结果为3。

11.x是指从哪里开始截取,y是指到哪里结束。字符串中的每个字符编号从0开始.

"some word".substring(x, y);

12.通过一个具体的,区分大小写的名称定义一个变量。一旦您用特定名称创建(或声明)一个变量,然后你可以通过这个变量名来获取这个值。

var varName = data;

13.一个函数接受输入,并做一些处理后,产生输出。

// 函数看起来就像是这样的:
var divideByThree = function (number) {var val = number / 3;console.log(val);
};
// 在第12行,我们调用函数的名字
//在这里,它被称为“dividebythree”
// 我们告诉计算机输入数量(即6)
// 然后电脑运行函数内的代码!
divideByThree(6);

1、 首先,我们使用var声明一个函数,然后给它起一个名字divideByThree。名字应以小写字母开头,该约定是使用驼峰命名法(每个单词首字母大写,第一单词除外)。

2、 然后使用 function关键字来告诉计算机你正在创建一个函数。

3、 括号中的代码被称为一个参数。这是一个占位符,当我们调用的时候会给它一个特定的值。

4、 然后将你要重复的代码写在“{ }”之间,每段代码必须用“;”来结束。

可以调用函数来运行这段代码:divideByThree(6);

使用函数,我们只需要输入函数名来调用函数,并将参数传入到后面的括号中。电脑将运行可重复使用的代码,并将具体的参数值替换到代码中。

14.return关键字告诉程序什么时候函数要返回 返回值。所以函数运行到return关键字时,该功能会立即停止运行并返回值。

// 好的函数写法
var calculate = function (number) {var val = number * 10;//就算没有这样的间距或换行,计算机也是可以理解这些代码的,但使用间距和换行可以使编码更加容易查看,并且这是最好的做法。console.log(val);//代码块的每一行和函数的末尾都要加上分号,分号的作用就像是一段中的一句,它有助于计算机知道每句代码在什么时候结束。
};
// 写的很糟的函数
var greeting = function(name){console.log(name);}

在编程D.R.Y.原则是非常重要的。不要重复!

作用域可以是全局或局部。

在函数外部定义的变量一旦被声明就可以在任何地方访问,它们被称为全局变量或者说它们的作用域是全局的。

到目前为止我们看到的函数只有一个参数。但函数写多个参数通常是有用的。

var areaBox = function(length, width) {return length * width;
};

函数内部定义的变量是局部变量。他们无法在函数外部访问。

var关键字会在当前作用域创建一个新的变量。这意味着,如果变量被声明在函数之外,该变量就具有全局的作用域。如果变量被声明在函数中,该变量就具有局部的作用域。

var my_number = 7; //这是全局变量
var timesTwo = function(number) {my_number = number * 2;console.log("内部函数中 my_number 的值是: ");console.log(my_number);
};
timesTwo(7);
console.log("外部 my_number 值是: ")
console.log(my_number);

在第4行,我们没有使用var关键字,所以我们在函数外用console.log打印出my_number的值将会是14。

15.

  1. 让i递增1的更有效的方法是使用 i++
  2. 让i递减1为 i--
  3. 我们可以使用 i+=x来编写你希望递增的任意值,例如:i+=3,他与i=i+3是相同的;
  4. 我们也可以使用i-=x来编写你希望递减的任意值;
  5. 当你编写一个循环时,要非常小心,如果你不能正常结束这个循环,这会造成所谓的死循环,他会让你的浏览器崩溃掉。
// for 循环例子:
for (var counter = 1; counter < 6; counter++) {console.log(counter);
}

16.数组:

  1. 数据存储列表 ;
  2. 可以同时存储不同数据类型的数据;
  3. 数组是有序的,所以每一个数据的位置是固定的。
var names = ["Mao","Gandhi","Mandela"];
var sizes = [4, 6, 3, 2, 1, 9];
var mixed = [34, "candy", "blue", 11];

var arrayName = [data, data, data];

任何时候当你看到有“[]”的数据,它就是一个数组。当你调用数组的 .length时,将返回数组元素的数量。

每个数据的位置是从0开始计算的,而不是1;数组的第一个元素:junkData[0]; 数组中的第三个元素:junkData[2]

var text = "Blah blah blah blah blah blah Eric \
blah blah blah Eric blah blah Eric blah blah \
blah blah blah blah blah Eric";
var myName = "Eric";
var hits = [];
// Look for "E" in the text
for(var i = 0; i < text.length; i++) {if (text[i] == "E") {// 如果找到了,就添加到数组中// 长度和myName长度一样for(var j = i; j < (myName.length + i); j++) {hits.push(text[j]);}}
}
if (hits.length === 0) {console.log("没有发现你的名字!");
} else {console.log(hits);
}

由于text可能会比较长,你可以使用反斜杠“\”来结束,然后在下一行继续写;

数组有一个push()方法,它会将括号中的内容添加到数组末尾。

newArray = [];
newArray.push('hello');
newArray[0];   // 等于 'hello'

var coinFace = Math.floor(Math.random() * 2);
while(coinFace === 0){console.log("正面! 继续...");var coinFace = Math.floor(Math.random() * 2);
}
console.log("反面! 停止.");

16.你可能已经注意到,当我们给一个变量赋值boolean类型值为true时,我们不需要用 === 来检查这个变量,例如:

var bool = true;
while(bool){//Do something
}

var bool = true;
while(bool === true){//Do something
}

但第一种是更快的方式,如果你碰巧使用数字,正如我们前面做的,你甚至可以做的:

var myNumber = 1;
while(myNumber) {// Do something!
}

只要条件的计算结果为true时,循环将继续运行。如果是false就会停下来。(当你使用一个数字来作为条件时,javascript能够理解1代表true,0代表false)

正如我们提到的,for循环非常适合做你提前知道你要重复多少次循环的任务。另一方面,while循环是当你不得不循环,但你不知道有多少次循环的的时候。

有时你想确保你的循环运行至少一次。在这种情况下,你需要修改while循环为do/while循环。

  1. youHit值为Math.floor(Math.random() * 2),这是给youHit设置一个随机数0或者1;
  2. damageThisRound值为Math.floor(Math.random()*5 + 1),这将生成一个1到5间的随机数。

totalDamage = totalDamage + damageThisRound;这有一个快捷的写法:就是使用+=运算符。

17.如果你调用isNaN做一些事情,它会检查它是不是个数字,如果是数字将返回false

isNaN('berry'); // => true
isNaN(NaN); // => true
isNaN(undefined); // => true
isNaN(20);  // => false

注意:如果你调用isNaN传入的一个字符串,看起来像一个数字,比如“20”,javascript会尝试将字符串自动转换为数字20,这将返回false(因为20是一个数字)。

注意你不能这样写:

isNaN(unicorns);

除非你已经定义了一个变量叫unicorns; 然而你可以这样做:

isNaN("unicorns"); // => true

18.

Switch允许你预先设置多个选项(case),然后检查表达式是否匹配。

如果匹配,就会执行匹配的程序,如果没有匹配的,就会执行default选项。

19. JavaScript有三个逻辑运算符:

  1. 与(&&);
  2. 或(| |);
  3. 取反(!)。
var answer = prompt("用户问题").toUpperCase();

在你的提示中调用.toUpperCase().toLowerCase(),以确保获得用户的输入是大写或者小写。

20.异构数组,这意味着数组中可以有不同类型的元素

var mix = [42, true, "towel"];

不仅可以在数组中存储不同的数据类型,甚至可以在数组中存放其他数组。可以通过嵌套来实现二维数组,像这样:

var twoDimensional = [[1, 1], [1, 1]];

可能要求第一行有三个元素,第二行为一个元素,第三行有两个元素。Javascript是允许的,这就是所谓的交错数组。

var jagged = [[9,8,4],[3,2],[1]];
for (var i = 0;i<jagged.length;i++){console.log(jagged[i]);
}

21.可以把对象当做是键值对的组合(如数组),只是他们的键不是0,1或2这些数字,它们可以是字符串和变量。

var phonebookEntry = {};phonebookEntry.name = 'tom';
phonebookEntry.number = '(555) 555-5555';
phonebookEntry.phone = function() {console.log('打电话给' + this.name + ' ,号码是 ' + this.number + '...');
};phonebookEntry.phone();

除了它的键是字符串和变量外,这个对象就像是一个数组。 对象的花括号之间是收集信息(键和值),像这样的:

var myObject = {key: value,key: value,key: value
};

22.用两种方法可以创建对象,一种是你刚刚做的,另一种是使用对象的构造函数。

var myObj = {type: 'fancy',disposition: 'sunny'
};var emptyObj = {};

使用构造函数,语法如下

var myObj = new Object();//这告诉javascript我要创建一个新的事物是Object;

你已经通过两种方式创建了对象,你可以添加键到你的对象。

myObj["name"] = "Charlie";
myObj.name = "Charlie";

两者都是正确的,第二个是简写。看看这是不是有点类似于数组呢?

使用[]或者.来添加添nameage属性。

添加对象到数组,我们可以这样:

var myObj = {type: 'fancy',disposition: 'sunny'
};
myArray = [myObj];

var friends = {};friends.Tom = {name: "Tom",number: "(206) 555-5555",address: ['USA','NewYork']
};
friends.Jerry = {name: "Jerry",number: "(010) 555-5555",address: ['中国','北京']
};var list = function(obj) {for(var prop in obj) {console.log(prop);}
};var search = function(name) {for(var prop in friends) {if(friends[prop].name === name) {return friends[prop];}}
};list(friends);
console.log(search("Jerry").number);

现在我们来将你的一些朋友添加到friends对象中,每个朋友需要一个名字,电话号码,等等。我们将使用一个新对象来保存每个朋友的信息!没错,我们是在对象中创建对象!

将一些空对象添加到你的friends对象中去,确保你添加的对象的名字是“Tom”和“Jerry”,我们将使用这两个名字来做为你空对象的键。

var friends = {bill: {},steve: {}
};

或者使用中括号([]),或点(.),像这样:

friends[bill] = {};
friends.steve = {};

23.数组和变量存储数据是一样的。不同的是,数组可以存储更多的值,一个变量只能存储一个。

要访问数组,我们可以使用中括号符号,并要记住数组的索引是从0开始的(例如,数组中的第一个值是在位置0)。

创建一个对象就像声明一个变量,或定义一个函数一样,我们可以使用var,紧随其后的是对象的名称和一个等号; 然后每个对象:

 1. 以“{“开始;  2. 里面有对象相关的信息;  3. 以“}“结束。

每条信息在一个对象中被称为一个属性。当创建一个对象时,每个属性都有一个名称,后面存放其值。

举例来说,如果我们要显示Bob的对象,他是34岁,我们会输入age:34

age是属性,而34是该属性的值。当我们有一个以上的属性时,它们之间用逗号隔开。最后一个属性不需要用逗号来结束。

使用点符号来访问属性,所以我们应该使用ObjectName.PropertyName(例如:bob.name);

除了点符号,我们也可以使用中括号来访问属性。在本例中,我们使用ObjectName["PropertyName"]访问所需的属性。请注意,我们需要在属性的名字上加上双引号。

24.函数使用function关键字后跟:

  • 一对圆括号()里面的可放置参数。
  • 一对花括号,来放置函数的代码{}
  • 分号;

转载于:https://www.cnblogs.com/Chary/p/No0000101.html

[No0000101]JavaScript-基础课程1相关推荐

  1. 妙味课堂——JavaScript基础课程笔记

    集中时间把秒微课堂JS的基础课程看完,并且认真完成了课后练习.感觉在JS方面的技能算是入了个门了.课后练习的作业完成的代码我都汇总在了这里.至于视频课的学习笔记,则记录如下. 第01课JS入门基础_热 ...

  2. JavaScript基础入门-陈璇-专题视频课程

    JavaScript基础入门-397人已学习 课程介绍         本课包括ECMAScript.流程控制.函数.内置对象.JS调试.JS面试内容,从零带你逐步提升JS技能! 课程收益     了 ...

  3. JavaScript基础---语言基础(1)

    写在前面: 通过四篇博客把JS基础中的基础整理一下,方便自己查阅,这些内容对于实际项目开发中也许并不会在意,但是作为JS的语言基础,自觉还是应该熟悉.在完成这三篇博客(JavaScript基础---语 ...

  4. javascript基础教程_JavaScript基础教程(九)对象、类的定义与使用

    对象.类的定义与使用 对象与类是面向对象程序设计语言教学过程中不可避免需要讲解的内容之一.很多人将两者混为一谈,简单认为对象就是类,类就是对象.实际上深入分析的话,对象与类的区别还是较为明显的.本文主 ...

  5. JavaScript基础06-day08【if练习、条件分支语句switch、for循环】

    学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...

  6. 第五模块·WEB开发基础-第2章JavaScript基础

    第1章 JavaScript基础 01-JavaScript历史介绍 02-JavaScript的组成 03-JavaScript的引入方式 04-变量的使用 05-基本数据类型(一) 06-基本数据 ...

  7. JavaScript基础教程新手入门必看

    对前端稍微有点了解的初学者都知道,JavaScript是必不可少的工具.毫不夸张的说,大部分网页都使用了JavaScript,想要成为一个优秀的前端工程师,做出漂亮令用户满意的网页,熟练掌握JavaS ...

  8. 视频教程-JavaScript全套课程-JavaScript

    JavaScript全套课程 拥有6年web前端和后端开发经验,4年授课经验,还曾在百度专业培训过网络营销课程,曾就职于联想集团和当当网,不仅有丰富的项目实战经验还有营销经验,综合实力较强,后入北京市 ...

  9. javascript高级编程教程,javascript基础入门案例

    谁有比较好的javascript视频教程 李炎恢的javascript教程,在verycd上可以下载. 结合<javascript高级程序设计>学习,应该会比较好,他这个教程就是参考了&l ...

  10. 《2020版JavaScript基础入门教程全集》,助你一臂之力!

    当下,随着5G商用正在有序推进,很多传统的前端工程师并不能满足时下企业用人需求了,越来越多的开发模式以及前端框架不断的涌现出来,这也就要求程序员需要不断去自我增值. 前端要学习的东西很多,对于自学的小 ...

最新文章

  1. MS-DAYOLO来了!多尺度域自适应的YOLO,恶劣天气也看得见!
  2. 大球分析系统_烧成系统如何提高熟料后期强度
  3. C++卷积神经网络实例:tiny_cnn代码具体解释(7)——fully_connected_layer层结构类分析...
  4. Android之使用PopupWindow使用和总结
  5. 一台机器同时运行两个Tomcat
  6. g开头的C语言编程软件,C语言函数大全(g开头)
  7. ZJOI2008 树的统计 树链剖分学习
  8. MTK 平台修改或查看USB驱动能力有三种方法
  9. pdns backend mysql_安装PowerDNS(与MySQL后端)和Poweradmin在Debian蚀刻
  10. python 爬虫性能_python-爬虫性能相关
  11. 火车票线程同步(一)互斥体实现
  12. [转]C#:手把手教你用C#打包应用程序(安装程序卸载程序)
  13. C++primer 6.7节练习
  14. 10015---技术栈
  15. 2020-07-28 activeMq 两种模式的测试
  16. 基于Web的股票预测系统
  17. python windows api截图_Python调用windows API实现屏幕截图
  18. 财务数据中台架构及建设方案(ppt)
  19. 关于Prim算法,自己的一些总结
  20. 贴片陶瓷电容材质NPO、C0G、X7R、X5R、Y5V、Z5U区别

热门文章

  1. 【BZOJ - 2574】[Poi1999] Store-Keeper(点双连通分量,求割点,记忆化bfs)
  2. 【ZOJ - 2955】Interesting Dart Game(背包,结论,裴蜀定理,数论)
  3. 【CCFCSP - 201403-4】无线网络(分层图最短路)
  4. 【HihoCoder - 1850】字母去重 (字符串,思维)
  5. code iban 是有什么组成_EAN-128码和Code-128码的区别
  6. freerdp 解压安装_Ubuntu下编译安装运作FreeRdp连接Windows
  7. html 弹出加载页面,magnific popup:将整个html页面加载到弹出窗口中
  8. 三相同步电机怎么接线图_智能电表怎么接线 单相 三相电表接线图大全
  9. 怎样测量地图上曲线的长度_测量长度的特殊方法
  10. 一个微信公众号接入另一个微信公众号的内容