JS入门(一)
在学js之前,我们应该先清楚js是什么,js全称JavaScript。是一门基于对象和事件的,有安全性的脚本语言。所谓脚本语言,就是一行一行执行的,就像剧本一样,一句句的往下读。而对象和事件,则是js自带的一些功能。Js也有很多特点,比如解释执行,就是当需要执行的时候才去检查代码是否符合语法规范,一行一行的执行。同时,js也是基于对象的,这里的对象主要是指js的内置对象。
好了,无聊的概念就到这了。说实在的,我刚学js的时候,看到这些东西就觉得很头大,这都什么跟什么啊,什么脚本语言啊,作为大学打一天到晚在打游戏的我来说,脚本不是外挂吗。不过,学到后来我发现,的确,js对于网页而言,真的跟外挂一样,尤其是学到了DOM之后,js不就是像在开挂一样的修改着html中的内容吗。好了,有点偏离主题了。接下来就说一说一些入门级的js内容。
在我刚刚学js的时候,第一个学的就是五种输出方式,
alert();
document.write();
console.log();
confirm();
prompt();
首先就是alert();说实在的,要我翻译alert的话我可能还要去查下字典,不过很多时候,在js中,你并不需要很清楚一个单词怎么翻译,重点是要记住他的功能,alert();是用来弹出一个提示框,在括号中可以填写弹出框中要显示的内容。比如alert(“Hello World”);在google中打开是这样的,
然后是document.write();它的用处是在页面中输出一句话,跟alert();一样,它的内容也是写在括号中的。比如document.write("啦啦啦");在页面中就是这样的。
同样的,console.log()的用法也是一样的,只是输出的时候是在控制台中,就是在打开浏览器的时候按f12,就能跳出控制台了,如果是谷歌浏览器的话,直接点击最上面的console就能看到了。比如输入console.log("招人啦");就会在控制台输出。
confirm();的用处是弹出一个确认框,confirm跟alert很像,不同的是他有一个一个取消的按钮,而且会返回一个boolean值。
最后剩下一个prompt();它的用处是用来弹出一个能让用户输入的框,并且返回用户输入的值。
我知道,第一次看见这五个东西的时候肯定有点蒙。因为...完全不知道这些东西有什么用处啊!!!说实在的,我也觉得这几个东西对于用户来说,的确是没有什么用处了,因为我们平时上网的时候,除了能看到过一些弹出框之外,基本上就没有看到过其他的东西了。很可惜,我们已经不单单是个用户了,我们是要成为那万人敬仰的程序猿,攻城狮的人。所以,这些东西对我们来说,用的很多,也很有用,不过,这几个根本不用去背,因为在后面的学习和开发中,我们会大量的用到这些东西。
看到这,如果你想去尝试代码的话,你可能会遇到一个问题,就是这些代码要写到哪。是的,我一开始学的时候就是学了这五种输出方式,根本就没有看到代码要写哪,所以,我开始往前翻...。因为,我学的时候看见书前面写的都是介绍JavaScript的历史,就直接跳过了...好吧,吸取教训,看书要从头开始看。
关于js的历史我就不多赘述了,最为理科生的我来说,这些东西不应该出现在我的文章里面。
好了,现在讲讲这些代码要写在哪里,现在的开发中,都是提倡结构跟样式分离的,所以在实际开发中,js代码都是写在单独的js文件里的,然后在html中用<script>标签通过src的属性引入进来的。
不过在我们自己在做代码练习的时候,都是直接写在html中的,js的代码都是写在<script>标签中的。
其次是<script>标签要放置的位置,正常情况下,我们都把<script>标签放在<head>标签中。当然,放在body标签中也不会出错,只是不提倡这种做法,因为,这样放就会让页面结构混乱,如果你的html页面已经写好了,并且用了很多标签,这时候你把script标签放在里面,到时候找起来就有你哭的时候了。
学完了这些之后,就应该学学变量了。
简单来说,变量就是容器,容器里装着数据。对于刚刚入门的人来说,了解到这个程度就足够了,到了后面我们会知道变量真正来说存储的是指向存储数据的位置。如果能理解这句话是最好的,但如果不能理解,也没有什么关系。
知道了变量是什么后,要了解变量的命名规范,变量的命名规范有五点:
1 取值的范围:字母、数字、下划线、$
2 不能使用数字开头
3 不推荐用中文命名,推荐使用有意义的单词命名
4 严格区分大小写
5 不能使用保留字和关键字
看完第五点你肯定很好奇什么是保留字和关键字:
关键字:有特殊功用的单词就叫做关键字;
保留字:关键字的候补队员,现在还不是关键字,将来有可能成为关键字;
然后具体的是哪些呢?下面这些都是。
是不是看见这些都要疯了,难道都要背下来吗,怎么可能,作为一个理科生,这不是要我命吗,说实在的,其实根本都不用担心第五种这样的情况,因为你命名的时候基本上是不会想到这些的。你只要大概眼熟一下这些单词就足够了。
其次,就是如果定义变量。
JavaScript是弱语言类型的,什么叫弱语言类型呢?就变量来说,就是在定义变量的时候,不考虑变量是什么数据类型的。所以在JavaScript中,变量都是用var关键字定义的。
比如要定义一个叫num的变量,我们就可以写成;
var num;
定义好了变量,就要给变量赋值,在赋值的时候,就不得不提一下数据类型了,JavaScript中,数据类型分为简单类型跟复杂类型,这里我就提一下简单类型,简单类型分五种,int,string,boolean,null跟underfined。在给变量赋值的时候,主要是赋值的类型是前三种,就是int,string和boolean。这三种分别是数字类型,字符串类型跟布尔类型。数字类型就包括所有的数字,整数、小数、正数、负数。用双引号或者单引号包起来的都是字符串类型。而布尔类型表示的是条件是否成立,他只有两个值:true和false。所以变量的赋值就可以这么写:
var num=123;
var name=”Hello World”;
var flag=true;
到这里,变量的基础基本上就完成了。
JS入门(一)的更多相关文章
- 1. web前端开发分享-css,js入门篇
关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- Ember.js入门教程、博文汇总
第一章 对象模型 Ember.js 入门指南——类的定义.初始化.继承 Ember.js 入门指南——类的扩展(reopen) Ember.js 入门指南——计算属性(compute properti ...
- JS入门之ActiveXObject对象(转载)
JS入门之ActiveXObject对象 此对象提供自动化对象的接口. function ActiveXObject(ProgID : String [, location : String] ...
- Node.js 入门手册:那些最流行的 Web 开发框架
这篇文章与大家分享最流行的 Node.js Web 开发框架.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编 ...
- 【特别推荐】Node.js 入门教程和学习资源汇总
这篇文章与大家分享一批很有用的 Node.js 入门教程和学习资源.Node 是一个服务器端的 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用 ...
- 让我们一起学习《Node.js入门》一书吧!
Node.js入门 读完本书之后,你将完成一个完整的web应用,该应用允许用户浏览页面以及上传文件. 里面对一些知识的讲解,让你略窥Node.js的门径.最好一段代码一段代码的写下来,我的习惯是手里拿 ...
- web前端开发分享-css,js入门篇(转)
转自:http://www.cnblogs.com/jikey/p/3600308.html 关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人 ...
- Node.js入门实例程序
在使用Node.js创建实际“Hello, World!”应用程序之前,让我们看看Node.js的应用程序的部分.Node.js应用程序由以下三个重要组成部分: 导入需要模块: 我们使用require ...
- Underscore.js(1.7.0) 中文文档 Underscore.js 入门
原文地址:http://www.css88.com/doc/underscore/ Underscore.js 入门 http://www.tuicool.com/articles/jQ3IfeR
随机推荐
- QT移植
QT下载地址:http://download.qt.io/archive/qt/1.编译tslib(touch screen lib) 准备工作:确保以下工具安装完成 sudo apt-get ins ...
- iOS 之UICollectionView 开发步骤 之 OC
说起来容易做起来难. 那么我就不说了,来做吧.这就是我的style. 鉴于现在的主流还是OC,那么示例程序还用OC来写,后续补写Swift程序,这里先占个坑. 废话不多说,下面开发步骤来了: 1. 创 ...
- HTTP的GET方法模拟
进行GET方法的测试 #telnet[ ]10.1.1.11[ ]80 GET[ ]/[ ]HTTP/1.0 [两个回车] HEAD[]/[]HTTP/1.0[回车回车] http://www.cnb ...
- easyUI resizable组件使用
easyUI resizable组件使用: <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- Canvas globalCompositeOperation API
参考: http://www.cnblogs.com/jenry/archive/2012/02/11/2347012.html <!DOCTYPE html> <html lang ...
- Unity 容器教程
文章摘自: http://www.cnblogs.com/qqlin/archive/2012/10/18/2720830.html
- Java偏向锁实现原理(Biased Locking)
http://kenwublog.com/theory-of-java-biased-locking 阅读本文的读者,需要对Java轻量级锁有一定的了解,知道lock record, mark wor ...
- libMF阅读记录(一):首先要编译通过
libMF是林智仁老师开发的一个用于推荐系统的矩阵分解库,下载地址:libMF 测试用的数据集是MovieLen,一个给电影评分的数据集,下载在此:ML 最近在阅读libMF的源代码,并且准备开发其M ...
- JDK分析工具&JVM垃圾回收(转)
转自:http://blog.163.com/itjin45@126/blog/static/10510751320144201519454/ 官方手册:http://docs.oracle.com/ ...
- SQL SERVER将多行数据合并成一行(转载)
昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes ep_name A ...