JavaScript简单了解
一、JavaScript 的诞生历史
在最初的时候 JS 主要解决的问题是一些服务器端语言(perl)对数据的 验证功能,在js 出现之前要对表单的数据进行验证需要将数据提交到服务器 端之后才能验证数据的合法性、有效性等等,但是在当时是使用电话拨号上 网,速度是很慢的,几kb 的网速,这导致了每次用户与服务器端进行数据 交互的时候成为了对人性的考验,比如说你写好了一个表单然后提交到服 务器端,之后等待几分钟之久,最后用户名密码不正确。为了解决着这样的问题,一家互联网公司在1995年开发出了JavaScript 语言,这家公司是 NetScape(网景公司),自从Js 出现之后那么简单的数据 验证就不需要提交到服务器端直接在客户端就可以实现验证。发展到今天js 不仅仅简单的实现表单数据验证了,而几乎可以实现所有 的浏览器交互功能。而且主流的浏览器都支持js。大部分的浏览器都有解析 js 的引擎,所以才能执行js 的代码。js 不需要 进行编译,是解释性语言。
二、JS 的基本语法要求
1、是否区分大小写? 严格区分大小写
2、标识符的起名要求(和Java 是一样的),第一个位置可以是字母、下划线、美元符号 |-其他位置可以字母、下划线、美元符号、数字。
比如说 asfd_$234(合法的),89098asfds_$ (不合法)。
3、变量的概念
变量就是声明来保存数据的内存空间 ], is 的变量声明要使用 var 关键字,声明的方式有两种:
声明并且赋值: var 变量名 =值
先声明再赋值:var 变量名; //先声明 变量名="1234"; //赋值
4、注释: 单行注释: //注释的内容 多行注释://*注释的内容*/
5、JavaScript 中的每行代码完毕之后需要加上“;”吗?
不加上也不会有语法错误,但是为了养成良好的习惯建议都加上去。
6、JavaScript 的基本数据
Undefined: 使用了一个没有赋值的变量(比如果说声明了一个变量 但是没有赋值),或者使用了一个不存在的变量。
String:字符串类型(在Java 中 String 不是基本数据类型)
Number:数字类型 |-Null:表示空类型
Boolean: 布尔类型(有两个值分别是true 和 false)
7、Js 中的变量的数据类型如何区分?
在Java 中变量的类型是在申明变量的时候使用不同的关键字 (int/double)来定义出变量的类型,而且一个基本数据类型的变量只能 保存一种类型。js 中的变量类型是按照变量保存值的类型来进行划分的,而且在 js中申明了一个变量可以保存任何类型的数据,所以js 又叫做弱类型语言。
demo:向控制台输出数据的类型
<script>
var temp; temp=10;
alert(typeof temp);
temp="nihao";
alert(typeof temp);
</script>
alert() 是 js 定义好的一个方法,可以直接调用,方法的作用是在页面弹 出提示窗口。该方法是属于内置对象 window。 还可以在控制台输出信息,使用的方法是console.log()。
三、JS 的三种使用结构
1、在 html 代码中使用js
<a href="javascript:alert('禁止跳转)">跳转到百度的连接</a>
2、在<script>标签中定义js代码
<script type="text/javascript">
//定义js代码
alert("Hello world! ");
</script>
当浏览器解析到“<script>”的时候会唤醒浏览器中的js 解析 引擎来解释 js代码。其实上<script>可以放到页面的任何位置
3、将js 定义在一个单独的文件中(index.js),在需要的地方导入该文件
总结:
以上的三种使用结构中,第一种基本不使用,第二种简单的js代码会使用(百分之30),第三种 是使用最为广泛的方式,这样的好处是方便代码的重用,而且方便维护。js 语言不需要编译,而是直接解释运行,之所以能运行是因为浏览器中 存在有js 的解释引擎对 js 进行解释运行。 js 被称为是一种弱类型语言,主要原因是声明了一个变量可以保存任何 类型的数据,而且不需要编译。
JavaScript简单了解的更多相关文章
- JavaScript简单入门(补充篇)
本文是对上一篇 JavaScript简单入门 的一些细节补充. 一.全局变量和局部变量 在<script>标签内定义的变量是当前页面中的全局变量.即 <script>标签可以直 ...
- 《javascript高级程序设计》读书笔记(一)javascript简单介绍
第一章:javascript简单介绍 Netscape Navigator 开发的javascript Javascript的实现有三部分: 1.核心(ECMAScript):提供核心语言功能. ...
- Javascript 简单实现鼠标拖动DIV
http://zhangbo-peipei-163-com.iteye.com/blog/1740078 比较精简的Javascript拖动效果函数代码 http://www.jb51.net/art ...
- [Java Web] 4、JavaScript 简单例子(高手略过)
内容概览: JavaScript简介 JavaScript的基本语法 JavaScript的基本应用 JavaScript的事件处理 window对象的使用 JavaScript简介: JavaScr ...
- javascript - 简单实现一个图片延迟加载的jQuery插件
最近在看一本书<Third-Party Javascript>很不错,推荐给大家,下载地址各位自己搜索了. 步骤: 1.打开google,鉴于google基本打不开,那么就打开这个网址吧. ...
- javascript 简单的计算器
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...
- 哈希表(hashtable)的javascript简单实现
javascript中没有像c#,java那样的哈希表(hashtable)的实现.在js中,object属性的实现就是hash表,因此只要在object上封装点方法,简单的使用obejct管理属性的 ...
- 简述一个javascript简单继承工具的实现原理
背景 由于本人非常希望能够开发自己的游戏,所以业余时间一直在想着能不能自己一些好玩又有趣的东西出来,最近随着steam上众多独立游戏的爆发,感觉自己又燃烧了起来,所以又拾起了很久以前的一个2d引擎,决 ...
- 谁说 JavaScript 简单的?
这里有一些 Javascript初学者应该知道的技巧和陷阱.如果你已经是专家了,顺便温习一下. Javascript也只不过是一种编程语言.怎么可能出错嘛? 1. 你有没有尝试给一组数字排序? Jav ...
随机推荐
- 剖析HBase负载均衡和性能指标
1.概述 在分布式系统中,负载均衡是一个非常重要的功能,在HBase中通过Region的数量来实现负载均衡,HBase中可以通过hbase.master.loadbalancer.class来实现自定 ...
- 【Java基础】【22IO(其他流)&Properties】
22.01_IO流(序列流)(了解) 1.什么是序列流 序列流可以把多个字节输入流整合成一个, 从序列流中读取数据时, 将从被整合的第一个流开始读, 读完一个之后继续读第二个, 以此类推. 2.使用方 ...
- leetcode — remove-duplicates-from-sorted-list-ii
/** * Source : https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/ * * * Given a ...
- 详解什么是平衡二叉树(AVL)(修订补充版)
详解什么是平衡二叉树(AVL)(修订补充版) 前言 Wiki:在计算机科学中,AVL树是最早被发明的自平衡二叉查找树.在AVL树中,任一节点对应的两棵子树的最大高度差为1,因此它也被称为高度平衡树.查 ...
- C#在截屏时将截屏之前需要隐藏的控件也截入
最近我在项目中遇到一个让我十分头疼的问题,就是我在截屏时也将截屏之前隐藏的控件也截入了. 情况:我在Winform窗体有个截屏功能按钮,实现在调用WPF全屏后截屏,但在截屏WPF界面前将界面里的一个L ...
- [MySQL] 5.7版本以上group by语句报1055错误问题
1. 在5.7版本以上mysql中使用group by语句进行分组时, 如果select的字段 , 不是完全对应的group by后面的字段 , 有其他字段 , 那么就会报这个错误 ERROR 105 ...
- Error: No PostCSS Config found in... 报错 踩坑记
项目在本地运行不报错,上传到 GitHub 之后,再 clone 到本地,执行: npm install 安装完成之后再执行: npm run dev 这时报错 Error: No PostCSS C ...
- Java发送电子邮件
转自 https://blog.csdn.net/xietansheng/article/details/51673073 纯代码, 详情请至原文查看 需要一个javamail的jar包 以下为实现代 ...
- 驰骋工作流引擎JFlow与activiti的对比之2种结构化模式
1. 任意循环(Arbitrary Cycles) ACTIVITI : 某一个或多个活动可以反复执行. 例子:用户买了瓶汽水,拿到汽水后,中了一瓶,又去兑换了一瓶汽水,如果又中了,再去兑换一瓶汽水- ...
- EntityFramework实体默认值遇到Oracle自增主键
1. Oracle实现主键自动增长 一般我们在Oracle实现主键自动增长,通常通过序列加触发器实现. 定义序列用于获取递增数字 CREATE SEQUENCE 序列名 [INCREMENT BY n ...