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. python之文件的读写和文件目录以及文件夹的操作实现代码

    这篇文章主要介绍了python之文件的读写和文件目录以及文件夹的操作实现代码,需要的朋友可以参考下 为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用 ...

  2. Linux路径与Win路径的转换

    cygpath $ cygpath -p "$WinPath" -u LinuxPath $ cygpath -p "$LinuxPath" -w WinPat ...

  3. MySQL实战45讲学习笔记:索引(第五讲)

    一.需要回表的案例 在下面表T中,执行下面语句,需要执行几次树的搜索操作?会扫描多少行? select * from T where k between 3 and 5 1.初始化语句 mysql&g ...

  4. webpack-dev-server live reloading 技术实现

    webpack-dev-server  live reloading https://github.com/webpack/webpack-dev-server Use webpack with a ...

  5. 堆应用---构造Huffman树(C++实现)

    堆: 堆是STL中priority_queue的最高效的实现方式(关于priority_queue的用法:http://www.cnblogs.com/flyoung2008/articles/213 ...

  6. gdb nnet3-compute

    gdb nnet3-compute测试命令 $ matrix-dim 'scp: head -n 1 data/test/feats.scp|' ~/kaldi/src/bin/matrix-dim ...

  7. day 25-1 接口类、抽象类、多态

    # 接口类:python 原生不支持# 抽象类:python 原生支持的 接口类 首先我们来看一个支付接口的简单例子 from abc import abstractmethod,ABCMeta #我 ...

  8. C++自己实现一个String类

    C++自己实现一个String类(构造函数.拷贝构造函数.析构函数和字符串赋值函数) #include <iostream> #include <cstring> using ...

  9. Linux服务器查看外网IP地址的命令

    可以直接输入如下几个命令:1.curl ifconfig.me2.curl cip.cc3.curl icanhazip.com4.curl ident.me5.curl ipecho.net/pla ...

  10. memcached单机或热备的安装部署

    一.部署准备 1.安装Java 不建议使用系统默认Open JDK版本,需要手工另行安装.JDK版本建议为1.7+,若Java已安装完毕,则无需重复安装. 安装过程如下: (1)获取JDK安装包: ( ...