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基本都忘的差不多了,不过,现在换了新公司,最近也没什么任务,所以现在开始重新写 ...
随机推荐
- Moodle简介
Moodle简介 一.概述 Moodle是Modular Object-Oriented Dynamic Learning Environment(模块化面向对象动态学习环境)的简称,中文译名为魔灯, ...
- CMDB服务器管理系统【s5day88】:兼容的实现
比较麻烦的实现方式 类的继承方式 目录结构如下: auto_client\bin\run.py import sys import os import importlib import request ...
- [LeetCode] 13. Roman to Integer ☆☆
Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 t ...
- 51nod 1170 1770 数数字(数学技巧)
解题思路:看到题后,直接想到分成两种情况: ①:a*b >9 这里又分成两种 1. n==1 a*b 直接是一个两位数 求得十位和个位(这里十位和个位不可能相等) 然后如果等于d 则结果=1 2 ...
- Python 用ctypes观察Python对象的内存结构 -- (转)
!!!强烈推荐的好文章!!! 对象的两个基本属性 Python所有对象结构体中的头两个字段都是相同的: refcnt:对象的引用次数,若引用次数为0则表示此对象可以被垃圾回收了. typeid:指向描 ...
- javascript中null与undefined的区别
1.null null是一个对象,表示一个空对象指针,typeof(null)返回object,null参与运算时会转化为0,将对象初始化为null,可以知道变量是否保存了对象的引用 2.undefi ...
- python2 处理urllib/urllib2错误并打印源码
import urllib2 import urllib url = 'http://localhost/12.php' data = {} data['cmd']='whoami' data = u ...
- perl模拟登录(1)
use WWW::Mechanize; my $ua = WWW::Mechanize->new(); $ua->post('http://localhost/dvwa/DVWA-mast ...
- linux下终端游戏
sl 一列火车 oneko 一只淘气的小猫
- twemproxy 简介、安装配置
twemproxy 简介.安装配置 http://www.xuchanggang.cn/archives/993.html