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
随机推荐
- FMS之Multi-point publishing技术
采用该技术,能large-scale你的直播系统,结构如图所示: A. Live Video B. Server 1 (New York City) C. Server 2 (Chicago) an ...
- JavaScript 例题延迟10s 自动手动换图
<style type="text/css"> * { margin:0px auto; padding:0px; font-family:"微软雅黑&quo ...
- MyEclipse-Initializing Java Tooling问题
问题描述: 今天早上打开Eclipse,打开Package Explorer 中项目时,总出现卡死现象. MyEclipse状态栏显示两个任务,(1) Checking for Updates (2) ...
- C/C++中的联合体
C/C++中的联合体 利用union可以用相同的存储空间存储不同型别的数据类型,从而节省内存空间.当访问其内成员时可用"."和"->"来直接访问. 当多个 ...
- SQLSERVER 运维日记-数据库状态
背景 新年伊始,小伙伴是不是还处于假期综合症的状态.我们在日常运维数据库的时候,会时常查看数据库的状态,检查数据库是否正常运行.对于这些状态的熟悉对于我们处理数据库无法访问的 问题非常重要.当数据库突 ...
- 真机测试错误“The application could not be verified”
真机测试错误"The application could not be verified" 真机测试的时候报错:"The application could not be ...
- Jenkins学习——Jenkins是什么
Jenkins是什么 对于Jenkins是什么,百度百科给的答案是这样的:Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 通过这句话,我们可以得到这样的一 ...
- 用9种办法解决 JS 闭包经典面试题之 for 循环取 i
2017-01-06 Tomson JavaScript 转自 https://segmentfault.com/a/1190000003818163 闭包 1.正确的说,应该是指一个闭包域,每当声明 ...
- 学习ui-router
ui-router的学习 在单页面应用中要把各个分散的视图给组织起来是通过路由机制来实现的.Angular原始的路由机制靠ngRoute提供,通过hash和history来实现的,可以检测浏览器是否支 ...
- "table" is not mapped 解决方法
现象:使用hql="from person" 出现" person is not mapped " 错误 配置文件如下:<hibernate-mappin ...