js:放在bady标签的底部,保证页面加载完成后才加载js

js注释:// 单行注释

    /*多行注释*/

js有两种存在形式

  1. 以文件的形式存在,使用时引用在head标签里<script src="js文件名.js"> 第一种 </script>
  2. 在bady标签的底部写入:

      <script>
                function f1(){
                           js的函数体
                    }
            </script>

js中变量声明 : name='vera';   //全局变量

       var age= 18;  // 局部变量, 注: var 必须写

js 数据类型

    其中包括数字、字符串、数组(字典)

    定义数字:var age = 18;
         var age = Number(18);

    布尔值:Boolean

        Boolean(1)    true

        Boolean(0)     false

    字典的定义:var dic={'k1':v1,'k2':v2}

    字符串转化为数字 :Number('123');
              parseInt('123');

    console调试器查看类型:console.log(age,typeof age); 
    数字类型整型转换:var age=18.9

                         console.log(parseInt(age));      结果=18
                                            console.log(parseFloat(age));   结果=18.9(js中是没有浮点型的)

    直接定义多个变量:var v1=21; v2=1233; v3=222;

js中null和undefined的区别

  null:表示一个值被定义了,但这个值是空值

  undefined:表示缺少值,即此处应该有值,但还没有被定义

var xx='  i love you  ';

关于字符串的小方法:

xx.trim() 移除字符串左右空格
xx.trimleft() 移除字符串左边的所有空格
xx.trimright() 移除字符串右边的所有空格
xx.charAt(2) 索引取值,取到2 位置的字符
xx.substring(1,2)             获取字符串的子序列(类似切片)                                     
xx.indexOf('2') 获取2位置的下标
xx.length 获取字符串长度

数组(相当于Python中的列表):

  数组创建的两种形式:var  li=[11,22,33];

            var  li = Array(11,22,33);

关于数组的小方法:

li.push(88) 把88添加到数组最后
li.unshif10('oo') 把字符串放在了数组的最前面
li.splice(1,0,'vera') 把字符串的指定位置(1位置),中间位置的0是固定的,写为0才会进行插入
i = li.pop() 移除最后的元素,有返回值
m = li.shift() 移除最前面的元素,有返回值
x = li.splice(1,2) 移除1位置后面的2个元素,有返回值
k=li.slice(0,2) 切片,拿到的0到2位置的元素
l = li.concat(n) 把n数组和li数组合并为一个新的数组
li.reverse() li 反转,在本身的基础上
n = li.join('-') 给数组加上短线"11-22-33-44"( python 里写法:"-".join(li))

/* js中的序列化 */
  序列化: s=JSON.stringify('sdklfkjdfls');

  反序列化: m=JSON.parse(s);

/* js中的for循环 */

var li=[11,22,33,44];

数组获取数据1

for(var item in li){
  console.log(item);
} //输出索引

数组获取数据2

for(var i=0;i<li.length;i++){
  console.log(li[i])
} // 输出li中的数据

var dic = {'k1':11,'k2':22}

字典获取数据
for(var item in dic){
  console.log(li[item]);
} // 只能输出key

for(var key in dic){
  console.log(key,li[key])
} // 输出key和value

/*条件语句与异常处理*/

while条件语句:

  while(true){
    continue;
    break; // 和Python里一样
  }

if else条件语句

  if(条件){

  } else if(条件){

  }else{

  }

switch语句

var name=111;
switch(name){
  case 1:console.log('11');
     break;
  case 2:console.log('22');
     break;
  default:console.log('ddd');
     break;
}

异常处理                                                                               
try{

  // 可能出现错误的语句

}catch(e){

  // 捕获到错误进行处理

}finally{

  // 没捕获到错误或捕获到错误进行提示,无论前面成功与否都会执行

}

/*js函数*/

关键字:function

普通函数

function func(arg){    // arg; 形式参数

  console.log(arg);

  return 'hello';   // 返回值

}

调用:var ret=func(123);

   console.log(ret);

匿名函数

var f = function(arg){ // 函数名为f
  console.log(arg); // console.log()打印
};

调用  :   f(123);

自执行函数

定义一个函数,并自己执行函数,形式:()();

自执行函数:用于自定义的js或jQuery的类库时,
当用户浏览器解释的时候,一旦解释到js文件,可以自动执行里面的东西;

例:
  (function(){
    console.log(111);
  })();                  //结果;111

例2:
  (function(arg){
    console.log(111,arg);
  })('alex');          // 'vera' (传给形式参数) ,自动执行结果:111 'alex'

js模拟面向对象

function Foo(name,age){
  this.Name=name;
  this.Age=age;
  this.Func = function(arg){
  return this.Name+arg;
  }
}

调用:var obj = new Foo('Vera', 18);

   console.log(obj.Name);    //结果:Vera
   console.log(obj.Age);        //结果:18
   var ret = obj.Func('beautiful');
   console.log(ret);                  //结果:Verabeautiful

html_javascript的更多相关文章

  1. html_javascript 基础操作

    <!DOCTYPE html> <html> <body> <h1>My Web Page</h1> <p id="demo ...

  2. 《2013传智播客视频》-wmv,avi,mp4.目录

    \!--14俄罗斯方块\视频\.复习.avi; \!--14俄罗斯方块\视频\ 复习.avi; \!--14俄罗斯方块\视频\ 形状旋转.avi; \!--14俄罗斯方块\视频\ 判断形状能否变形.a ...

随机推荐

  1. jvm 字节码执行 (二)动态类型支持与基于栈的字节码解释执行

    动态类型语言 动态类型语言的关键特征是它的类型检查的主体过程是在运行期而不是编译期. 举例子解释“类型检查”,例如代码: obj.println("hello world"); 假 ...

  2. JavaScript 高级

    在线JS编辑 JS 编写规范 阮一峰 ES 6 阮一峰 廖雪峰 操作文件 <html> <head> <script src='./jquery-2.2.3.min.js ...

  3. JS通用模块模式 UMD

    历史 JS诞生之初面向简单页面开发, 没有模块的概念. 后来页面逐渐复杂, 人类构造到 IIFE 立即执行函数来模拟 模块: 之前也有雅虎的实践,使用命名空间 作为模块名. 最后衍生出 面向各种使用场 ...

  4. shell 生成目录的树状视图、生成文件及子目录的汇总信息

    -exec 创建子shell $ find . -exec sh -c 'echo -n {} | tr -d "[:alnum:]_.\-" | \ tr "/&quo ...

  5. Lambda表达式概念与基本语法

    Lambda表达式是Java 8的重要更新,一个被广大开发者期待已久的新特性.Lambda表达式支持将代码块作为方法参数,Lambda表达式允许使用更简洁的代码来创建只有一个抽象方法的接口(这种接口被 ...

  6. Linux下删除乱码文件

    删除乱码文件 一些文件乱码

  7. SqlServer如何获取存储过程的返回值

    1.Output参数返回值 1 CREATE PROCEDURE [dbo].[upInformation]( 2 @age int , 3 @id bigint OUTPUT 4 ) 5 AS 6 ...

  8. 组件或者dom的特殊属性

    key:用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes. 常用姿势: 1.结合 v-for,有相同父元素的子元素必须有唯一key. <ul> <li ...

  9. day 19 - 1 模块

    collections 模块 在内置数据类型(dict.list.set.tuple)的基础上,collections 模块还提供了几个额外的数据类型:Counter.deque.defaultdic ...

  10. js原型杂谈

    1.通俗点讲原型对象就是内存中为其他对象提供共享属性和方法的对象. 2.所有原型对象都具备一个constructor属性,这个属性是一个指向包含prototype属性函数的一个指针(敢不敢再绕点!). ...