一、导读

简介:JavaScript简称js,是基于对象和事件驱动的脚本语言,主要运用于客户端。原名LiveScript,本身和Java没有任何关系,但语法上很类似。

特点:交互性(它可以做的就是信息的互动性);

      安全性(不允许直接访问本地硬盘);

      跨平台性(只要是可以解释JS的浏览器都可以执行,与平台无关);

二、JavaScript与Java不同

1、JS是Netscape(网景)公司的产品,前身是LiveScript,Java是Sun公司的产品,现在是Oracle公司的产品。
2、JS是基于对象,Java是面向对象。
3、JS只需要解释就可以执行,Java需要先编译成字节码文件,再执行。
4、JS是弱类型,Java是强类型(每种数据都要规定好类型,而每种数据类型都设定好了空间大小)。

三、JavaScript与Html的结合

方式1:将JavaScript代码封装到<script>标签中

方式2:将JavaScript代码封装到js文件中,并通过<script>中的src属性进行导入。注意:如果<script>标签中使用了src属性,那么该标签的JavaScript代码将不会被执行,所以导入js文件都是单独<script>标签来实现。

四、通常高级程序设计语言所包含的语法内容  

关键字:被赋予特殊含义的单词
标识符:用于标识数据表达式的符号。通常理解为在程序中自定义的名称。比如变量名、函数名。
注释:注解说明程序。用于调试程序。
变量:用于标识内存中的一片空间,用于存储数据,该空间中的数据是可变的。(当数据不确定时就可以使用)
运算符:让数据参与运算的符号。
语句:用于对程序的运行流程进行控制的表达式。
函数:用于对功能代码的封装,提高复用性。
数组:对多数据进行存储,便于操作。即容器。
对象:只要是基于对象的语言或面向对象的语言,都存在对象的概念。对象就是一个封装体:既可以封装数据,又可以封装函数。
注:这些都是高级设计语言具备的共性内容,只不过表现形式不同而已。

五、js变量:使用关键字var(variable的简写)来定义变量

由于是弱类型非严谨的语言,所以只需使用“var 变量名 = 变量值”的形式就可以进行变量的申明。
如:

var x = 3;//定义一个变量x,并初始化值为number类型3
x = "abc";//将变量x的值改为string类型
x = 3.45;
x = 'c';
x = true;//布尔类型

js变量的类型没有固定的数据类型,所以称为弱类型。若定义时未定义变量值,则为 undefined类型。

六、运算符

算术运算符:+ - * / % ++ --(加减乘除取余自增自减)
注:和其他语言类似,但由于是弱类型,+、-等运算可以在不同类型之间进行:如

 var x = 3;
var y = "abc";
var z1 = x+y;//那么z1的值为“3abc”
var z2 = y+x;//z2的值为“abc3” //false用0或null代表,而非0非空就是true,默认是1,所以可以参与运算。
var t = true;
var f = false;
var w = 3+false;//w就等于3
var q = 3 - true;//q就为2 //.....等等不同类型之间的运算,其实是先转换为同类型再运算。

赋值运算 := 、+=、-=、/=、%=
比较运算符 :<、>、==、<=、>=、!=
逻辑运算符 :&(与运算) 、&& 、|(或运算) 、|| 、 !(非)
位运算符:& 、|、 ^(异或) 、>>(带符号右移) 、<<(左移)、 >>>(无符号右移)
三元运算符:表达式?(true)结果a:(false)结果b;

七、语句&结构

顺序结构
判断结构:if/else语句
选择结构:switch/case语句
循环结构:while语句、for语句
其他语句:
注:可以对循环语句进行标号,以便控制。

八、数组

js的数组时可变长度的,且可以存储不同类型的元素,但建议存储同一类型元素。
方式1:var arr = [1,2,3,5,9]; //数组属于object类型

方式2:使用js中的对象Array对象来完成定义。
var arr = new Array();//等价于var arr = [];
var arr1 = new Array(5);//定义长度为5的数组
var arr2 = new Array(5,6,7);//等价于var arr = [5,6,7];

九、函数

通过关键字来定义。function 函数名(参数列表){
  函数体;
  return 返回值;(没有返回值就不用写返回语句)
}

如:

 function add(x,y){
var z = x + y;
return z;
}

细节:1、定义几个实参就传递几个参数。2、函数中传入的参数其实是用一个数组存储起来了:arguments.3、函数本身是一个对象,而函数名就是这个函数对象的引用(打印出来不是地址值,而是该函数的代码体)。

十、动态函数

其实使用的是js内置的一个对象Function.
var add = new Function("x,y","var sum;sum=x+y;return sum;");
var x = add(7,8);
与一般函数的区别在于,动态函数的参数列表和函数体都是通过字符串指定的,可以通过改变字符串来改变函数的定义,但实际用得并不多。

十一、匿名函数

没有名字的函数,函数的简写形式。如:

var add = function(a,b){
return a+b;
}

JavaScript的简单入门的更多相关文章

  1. javascript正则简单入门

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. JavaScript简单入门(补充篇)

    本文是对上一篇 JavaScript简单入门 的一些细节补充. 一.全局变量和局部变量 在<script>标签内定义的变量是当前页面中的全局变量.即 <script>标签可以直 ...

  3. JavaScript 10分钟入门

    JavaScript 10分钟入门 随着公司内部技术分享(JS进阶)投票的失利,先译一篇不错的JS入门博文,方便不太了解JS的童鞋快速学习和掌握这门神奇的语言. 以下为译文,原文地址:http://w ...

  4. JavaScript面向对象轻松入门之封装(demo by ES5、ES6、TypeScript)

    本章默认大家已经看过作者的前一篇文章 <JavaScript面向对象轻松入门之抽象> 为什么要封装? 封装(Encapsulation)就是把对象的内部属性和方法隐藏起来,外部代码访问该对 ...

  5. HCharts随笔之简单入门

    此处可以对比我的另一个Echars简单入门 直接上源码 <!DOCTYPE html> <html> <head> <meta http-equiv=&quo ...

  6. EChart.js 简单入门

    EChart.js 简单入门 最近有一个统计的项目要做,在前端的数据需要用图表的形式展示.网上搜索了一下,发现有几种统计图库. MSChart   这个是Visual Studio里的自带控件,使用比 ...

  7. Vue的简单入门

    Vue的简单入门 一.什么是Vue? vue.js也一个渐进式JavaScript框架,可以独立完成前后端分离式web项目 渐进式:vue可以从小到控制页面中的一个变量后到页面中一块内容再到整个页面, ...

  8. ECharts.js学习(一) 简单入门

    EChart.js 简单入门 最近有一个统计的项目要做,在前端的数据需要用图表的形式展示.网上搜索了一下,发现有几种统计图库. MSChart   这个是Visual Studio里的自带控件,使用比 ...

  9. Bootstrap简单入门

    Bootstrap简单入门 BootStrap基本模板 <!DOCTYPE html> <html> <head> <meta charset="U ...

随机推荐

  1. JAVA基础4——谈谈HashCode与HashMap相关概念

    谈谈HashCode与HashMap HashCode hashCode,即一个Object的散列码. HashCode的作用: 对于List.数组等集合而言,HashCode用途不大: 对于Hash ...

  2. 13. ZooKeeper最佳实践

    以下列举了运行和管理ZooKeeper ensemble的一些最佳实践: ZooKeeper数据目录包含快照和事务日志文件.如果autopurge选项未启用,定期清理目录是一个好习惯.另外,管理员可能 ...

  3. 2733:判断闰年-poj

    2733:判断闰年 总时间限制:  1000ms 内存限制:  65536kB 描述 判断某年是否是闰年. 输入 输入只有一行,包含一个整数a(0 < a < 3000) 输出 一行,如果 ...

  4. Thinkphp使用phpexcel导入文件并写入数据库

    现实中,我们往往很多地方都需要这样批量导入数据,除了phpexcel还有csv等方法可以解决 下面详细介绍一下使用方法 首先在官方下载安装包解压到本地,然后复制保存到tp框架下的vendor目录下 h ...

  5. 找到链表的倒数第K位

    #include<iostream> using namespace std; class node{ public: node():value(),next(NULL){} ~node( ...

  6. Web Api 2.0中使用Swagger生成Api文档的2个小Tips

    当Web Api 2.0使用OAuth2授权时,如何在Swagger中添加Authorization请求头? Swagger说明文档支持手动调用Api, 但是当Api使用OAuth2授权时,由于没有地 ...

  7. RGBA 和 opacity的区别

    两者都可以设置透明度 区别 RGBA 只影响当前元素 opacity 后代会继承该css 值,暂时还没有办法清除该css 在线演示

  8. Tp3.2 和 Tp5.0之间的区别

    5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别. URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正则路由定义,而是全部改为规则路由配合变量规 ...

  9. 第三节:Creating API Endpoints (创建API路由)

    对于这篇文章的标题,其实,直译就是创建api端点.但是,真的很难懂,我还是写为API路由吧.每篇,文章,我都会全部去进行实践操作,力求写一个好点的教程. 本文英文地址-->https://git ...

  10. 从开源项目看 Python 单元测试

    我觉得以前在我开发程序的时候,除了文档,可能单元测试是另外一个让我希望别人都写,但是自己又一点都不想写的东西.但是,随着开发程序的增多,以及自己对 Bug 的修改的增多,我发现,UT 在很大程度上是对 ...