javascript大神修炼记(1)——入门介绍
读者朋友们好,从今天开始,我将带领新朋友们,从了解javascript开始,一步一步地进阶到大神境界,别的不废话,现在开始,我们就一点一点地从入门阶段开始。
我们还是介绍一下javascript的身世,不然,大家会对javascript存在非常大的误解,它的产生历史,我们就过于多说,我也记不住,上学开始历史也没及过格
js与我们经常用来开发后台程序的java语言不是什么亲戚,他们的使用范围也是相差非常远,js只是用在html,用来对document节点进行增删改查,构建与服务器通讯的一种解释性语言而已,这只是最简单的理解,后面我们来对javascript进行详细深入的学习,好了,我们就从语法开始,虽然,我说了不再废话,但是,我感觉我仍然还是这么啰嗦,好了,大家也不要介意,想修炼成大神的朋友们,也请忍耐一下我这习惯。
还得声明一点,看此文章的人,默认是有HTML基础的朋友如果连下面的代码还不理解的人,就请先理解之后,再来修炼,独门秘笈也不是一般人能够修炼的,万一走火入魔了呢,怎么办?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title></title>
</head>
<body>
<h1>javascript大神修炼记</h1>
<div>………………</div>
<script type="text/javascript">
function MyFun(){
……
}
</script>
</body>
</html>
这样的代码,大家就应该很熟悉了吧,我还得说一点的就是,script标签跟大家在课本上面看到的写法不一样,我是写在body标签里面,而且还是写在body标签最后面,这是因为网页的加载顺序,是从上往下,按节点渲染,资源也是从上往下,逐个加载,至于资源响应速度,就与服务器和当前的访问情况而论了,这是题外话了。页面从上向往下逐个渲染到script标签时候,就开始解析javascript代码,如果javascript代码存在对document节点有操作的情况,那么,它才能正确地得到节点对象,不然,就会存在代码执行出错的风险。所以我们的script标签就没有写在head标签里面。
我们再来看一下语法,我们先用程序入门的方式进行讲解,不然,直接操作document节点,某些朋友可能会接受不了,说到程序,大家后面还得接触OOP,所以我们现在讲 类,函数,变量,如果你觉得陌生,不要怕,我曾经也是这样,但是,逐渐地我就能理解了,相信你也一样,在javascript里面,类和函数有互相转化的概念,所以还存在很多理解上问题,所以我决定,就从函数开始讲,先不让大家接触类的概念
function WriteMyName(){
console.log("My name is MrDream");
}
WriteMyName();

我这是用chrome浏览器,按一下F12,进入console面板,对代码进行调试,大家也要习惯用这个浏览器,后面大家看我调试的多了,大家也会喜欢上这款浏览器,自然也会习惯用它来进行代码调试。
前面我用function关键字声明了一个函数WriteMyName,在方法体里面我只写了一句简单的console.log("My name is MrDream"),然后,直接用函数名加一个括号
WriteMyName(),这样就可以执行前面的函数体里面的内容了,里面的内容就是,打印一句话,打印的内容是My name is MrDream,现在大家只要明白 console.log就是打印的意思就行了。
简单小结一下函数体声明语法 function 函数名(){函数体}
下面我们再来看一下,带参数的函数
function WriteMyName(_your_name){
console.log(_your_name);
}
WriteMyName("My name is MrDream");

现在声明的函数跟前面的函数区别就是,打印的内容是用参数形式进行传递,那么带的好处就是,我们之前调用WriteMyName()的时候,只是打印里面固定的内容,然而现在,我们就可以这样写WriteMyName("马大哈"),一对双引号里面写入任意一个名字,我们就可以打印出来了,是不是更方便了啊,我们再来看一下
灵活性就比之前的高多了,我们可以给函数体传递任意的字符串名字了,大家记住了,字符串,一定要带上外面的一对引号,不然,会出错,目前的你还不能理解,这是为什么,接下来,我们会继续讲变量的声明,首先,我们得理解,变量是什么,变量的作用
var five = 5;
var six = 6; function add(){
console.log(five+six);
}
我们同样是使用函数名+括号进行函数调用 add(),我们来看一下效果

函数体里面仍然是一句打印语句,打印的结果是11,5+6=11,没有错吧,如果我们要做其他值的加法,怎么办呢?是不是要修改变量呢,对了,前面的var就是用来声明变量的关键字,我们声明了一个five和一个six,并且给他们赋值,然后,打印这两个变量相加。
是不是觉得我们每次想打印的时候,都要修改函数体里面的变量,这样就很麻烦了,那们我们来试一个传递参数的函数
var five = 5;
var six = 6; function add(num1,num2){
console.log(num1+num2);
} add(five,six);

我们在函数num1,num2处的位置分别传入了变量five,six同样打印出来正确的结果,这样,我们就可以方便地传入其他的值了

现在看一下,我们可以传入变量,也可以传入数字,正负均可,如果需要使用不固定的值在函数体进行计算的时候,我们就需要把这个函数写在带参数的函数。
总结一下,我们今天学会了什么?
第一,javascript是用来干什么的
第二,javsscript代码放在页面的什么位置最合适
第三,变量的声明,用什么关键字
第四,我们学会了函数的声明(带参数,不带参数,带参数的原因),用什么关键字
javascript大神修炼记(1)——入门介绍的更多相关文章
- javascript大神修炼记(2)——运算符
读者朋友们好,前面我已经大概的了解了Javascript的作用以及一些基本的函数声明与变量声明,今天我们就接着前面的内容讲解,我们就来看一下javscript的逻辑(正序,分支,循环)以及一些简单的运 ...
- javascript大神修炼记(5)——OOP思想(封装)
读者朋友们好,前面我们已经讲解了有关javascript的基础,从今天的内容开始,我们就要开始讲有关封装的内容了,这里,我们就一点一点地接触到OOP(面向对象编程)了,如果作为一门语言使用的程序员连O ...
- javascript大神修炼记(7)——OOP思想(多态)
读者朋友们大家好,今天我们就接着前面的内容讲,前面我们已经讲到了继承,今天我们就来讲OOP目前最后一个体现,那就是多态,因为javascript语言的灵活性,所以我们是没有办法使用接口的,所以这也给j ...
- javascript大神修炼记(6)——OOP思想(继承)
读者朋友们大家好,我们今天这一讲就接着前面的封装继续讲解,今天就是在前面内容上面的升级,OOP思想中的继承,我们就先来解释一下继承到底是什么意思,我们在什么地方会用到继续. 继承就是,后代继续祖先的一 ...
- javascript大神修炼记(4)——循环
读者朋友们大家好,今天,我们继续接着前面的内容讲,前们我们已经讲了条件分支,今天我们就讲循环,顾名思义就是,重复执行相同的操作,正常循环是受程序控制的,不正常的情况,就会出现死循环,那就是我们的代码中 ...
- javascript大神修炼记(3)——条件分支
读者朋友们好,我们今天接着前面的讲,前面已经大概了讲了一下运算符,今天的任务主要就是讲解逻辑条件分支,循环. 我们先就来模拟一个逻辑块,就用我们经常接触到的买车票来说吧,车票的价格对不同的人价格是有差 ...
- 听justjavac大神live前端的入门与进阶小笔记
代码规范 代码强壮,调试代码 少用变量,多用常量 少用for循环,why循环,多用函数式, 不要直接去使用框架 刷题 提高编程思维 用js去做c语音的问题 阅读别人代码,去看别人的代码 a+b> ...
- 【转】hurry_liu 大神STM32移植contiki入门之一:系统介绍和开发环境搭建
前言: 由于项目的原因,需要在LPC1788(STM32 cortex-M3)上面跑contiki. 之前没有涉及到contiki,不知其为何物.不过这个不是难事,做IT的,每每遇到新事物,都不会处理 ...
- 关于阮大神的es6标准入门第一章
题记:之前在10月份的时候写过阮大神的es6的第一章,但是由于那段时间项目组的动荡,所以也没有什么后续,导致我现在对es6基本都忘的差不多了,不过,现在换了新公司,最近也没什么任务,所以现在开始重新写 ...
随机推荐
- HDU 2655 主席树
Kth number Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- Tree and Permutation dfs hdu 6446
Problem Description There are N vertices connected by N−1 edges, each edge has its own length.The se ...
- java获去json所有对象
public static void main(String args[]){ JSONObject json1=JSONObject.fromObject("{'username' : ' ...
- 疯狂java学习笔记
面向对象: 从现实世界中客观存在的事物(对象)出发构造软件系统,并在软件系统构造中运用人类的自然思维方式,强调直接以现实世界中的事物为中心来思考,认识问题,并根据这些事务的本质特点,将他们抽象为系统中 ...
- [技巧篇]10.那些年我们一起优化过的MyEclipse8.6
这里里面是针对于四海的给位学生预留的视频,请自行下载,我希望对大家有所帮助 我这里使用了百度网盘,这里的东西还是比较多的!如果喜欢请关注我,当好胖先生的粉丝 链接:http://pan.baidu.c ...
- Android实现自动定位城市并获取天气信息
定位实现代码: <span style="font-size:14px;">import java.io.IOException; import java.util.L ...
- linux命令查看服务器的型号、序列号、内存插槽数(转)
1,查看服务器型号.序列号: dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product|S ...
- CAS(硬件CPU同步原语)
CAS有3个操作数.内存值V,旧的预约值A,要修改后的新值B.当且仅当预期值A和预期值V相同时,将内存值V修改为新值B.当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做. 应用1. ...
- HDU 1087 Super Jumping! Jumping! Jumping! --- DP入门之最大上升子序列
题目链接 DP基础题 求的是上升子序列的最大和 而不是最长上升子序列LIS DP[i]表示以a[i]结尾所能得到的最大值 但是a[n-1]不一定是整个序列能得到的最大值 #include <bi ...
- querySelector()与querySelectorAll()
1.querySelector() 参数:css选择器 返回匹配指定css选择器元素的第一个子元素 2.querySelectorAll() 参数:css选择器 返回匹配指定css选择器的所有元素