zoukankan      html  css  js  c++  java
  • JavaScript的简单入门

    一、导读

    简介: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类型。

    六、运算符

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

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

    赋值运算 := 、+=、-=、/=、%=
    比较运算符 :<、>、==、<=、>=、!=
    逻辑运算符 :&(与运算) 、&& 、|(或运算) 、|| 、 !(非)
    位运算符:& 、|、 ^(异或) 、>>(带符号右移) 、<<(左移)、 >>>(无符号右移)
    三元运算符:表达式?(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 返回值;(没有返回值就不用写返回语句)
    }

    如:

    1 function add(x,y){
    2     var z = x + y;
    3     return z;
    4 }

    细节: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;
    }

  • 相关阅读:
    【BZOJ-3712】Fiolki LCA + 倍增 (idea题)
    【BZOJ-1941】Hide and Seek KD-Tree
    【BZOJ-2400】Spoj839Optimal Marks 最小割 + DFS
    【BZOJ-3709】Bohater 贪心
    【BZOJ-2342】双倍回文 Manacher + 并查集
    【BZOJ-3790】神奇项链 Manacher + 树状数组(奇葩) + DP
    【BZOJ-4568】幸运数字 树链剖分 + 线性基合并
    【BZOJ-4520】K远点对 KD-Tree + 堆
    【BZOJ-4127】Abs 树链剖分 + 线段树 (有趣的姿势)
    【BZOJ-2648&2716】SJY摆棋子&天使玩偶 KD Tree
  • 原文地址:https://www.cnblogs.com/fzz9/p/7761503.html
Copyright © 2011-2022 走看看