javascript初学者课程

来源:互联网 发布:资本结构优化 编辑:程序博客网 时间:2024/05/24 05:58

1.java vs. javascript

2.网络编程学习工具

2.1.codepen

http://codepen.io/sorcerer-ma/pen/AIexD

Welcome to code an hour!

http://codepen.io/sorcerer-ma/

我的空间

   http://codepen.io/cajan2

js的在线文档

http://devdocs.io/

2.2.codeacademy

快速了解js

http://www.codecademy.com/zh/learn

2.3.codeschool-jquery教程


3.应用比较广泛

node.js, appium

无所不能?

 

4.IDE-编辑器记事本

sublime(可以更改颜色)

notepad++

vim

 

5.pair programme

结对编程

 

// 在括号中写入你的名字试试看
document.write("jian zhang");
var var1="2"-1;
alert(var1);
var bln=confirm("你确定要删除吗?");

if(bln === true){
  //do sth
  alert("已经删除!");
}
var name=prompt("请输入姓名:");
alert("你的姓名是"+name);

//值传递 vs. 引用传递

//五种基本类型都是值传递

//对象,数组都是引用传递

 

函数式语言

  函数作为第一类公民

  但是不支持lamda表达式

面向对象

   闭包

   原型链机制-实现继承

  没有class关键字

  也是使用function关键字

 

   一切都是对象

     教室,人,jianzhang

     抽象-具体

     类-实例

    三大特点:封装,继承,多态

// 在括号中写入你的名字试试看
document.write("jian zhang");
var var1="2"-1;
alert(var1);
var bln=confirm("你确定要删除吗?");

if(bln === true){
  //do sth
  alert("已经删除!");
}
var name=prompt("请输入姓名:");
alert("你的姓名是"+name);
//值传递 vs. 引用传递
//五种基本类型都是值传递
//对象,数组都是引用传递

function Person(name)
{
   this.myName=name;
  this.SayHello=function(friend){
    document.write("Hello,"+ friend + ".my name is "+this.myName);
  }
}
var Jessica =new Person("Jessica");
Jessica.SayHello("ffriend11");
//alert(Jessica.SayHello("xiaoma"));

//另外一种写法,两个花括号里面就是一个对象

var XiaoMa={
  myName:"XiaoMa",
  SayHello: function(friend){
      document.write("Hello,"+friend+"!My name is "+this.myName);
  }
}
alert(XiaoMa.myName);
XiaoMa.SayHello("Jessica");
XiaoMa.sex="Female"; //动态加入一个熟悉sex,这个是js的动态特点,但是同一个类型的其他实例不受影响。涉及到原型,是高级话题,暂时不说
alert(XiaoMa.sex);

context是浏览器

   人类和浏览器交流的语言就是javascript

  运行环境

google V8引擎,nodejs

IE比较特殊,不怎么跟着规范来,EMCAScript

 

8.练习

var getCustomChoice = function() {
  var choices = document.getElementsByName('custom');
  for (var i = 0, len = choices.length; i < len; i++) {
    if (choices[i].checked === true) {
      return choices[i].value;
    }
  }
}

var randomComputerChoice = function() {
  var computerChoice = Math.random();
  if (computerChoice < 0.34) {
     computerChoice = "石头";
  } else if(computerChoice <= 0.67) {
     computerChoice = "布";
  } else {
     computerChoice = "剪刀";
  }
  return computerChoice;
};

var compare = function(choice1, choice2) {
  if (choice1 === choice2) {
    return 0;
  }
  if (choice1 === '石头') {
    if (choice2 === '剪刀') {
      return 1;
    } else {
      return -1;
    }
  }
  if (choice1 === '布') {
    if (choice2 === '石头') {
      return 1;
    } else {
      return -1;
    }
  }
  if (choice1 === '剪刀') {
    if (choice2 === '布') {
      return 1;
    } else {
      return -1;
    }
  }
};

document.getElementById('start').onclick = function(){
  var customChoice = getCustomChoice();
  var computerChoice = randomComputerChoice();
  document.getElementById('player').innerHTML = customChoice;
  document.getElementById('computer').innerHTML = computerChoice;
  var result = compare(customChoice, computerChoice);
  var resultStr = '';
  if (result === 0) {
    resultStr = '平局';
  } else if (result === 1) {
    resultStr = '你赢了';
  } else {
    resultStr = '你输了';
  }
  document.getElementById('result').innerHTML = resultStr;
};

 

//练习:算法题

// tips: 请查找 js 中 Math 对象的用法
var calc = function(v, d) {
  // write your code here
  var dd1=d*9.8/(v*v);
  //alert(dd1);
  var ang=Math.asin(dd1)/2.0;
  //alert(ang);
  return ang*180/Math.PI;
}


document.getElementById("calc").onclick = function() {
  var v = document.getElementById("v").value,
      d = document.getElementById("d").value;
  var answer = calc(v, d);
  //alert(answer);
  document.getElementById("answer").innerHTML = answer;
}


0 0