//c#
int a=0;
int b;
int c = a + b;
//js
var a = 0;
var b;
var c = a+b;
数据类型
语法
*面向对象
类库(dom)
dom --》 SqlConnection
jquery/ext --》 SqlHelper
1、js标签 <script type="text/javascript">
页面执行顺序,从上到下一行一行执行
2、事件onclick
3、变量 数据类型var 弱类型 判断变量是否为空if(x){}
<script type="text/javascript">
var x = "abc";
if (!null) {
alert("null");
}
if (!undefined) {
alert("undefined");
}
if (x == null) {
alert("null");
}
if (typeof(x) == "undefined") {
alert("undefined");
}
if (!x) {
alert("未初始化 0");
}
if (x) {
alert(x);
}
4、函数的声明,函数路径不需要都有返回值,没有的话是"undefined"
function add(){}
调用方法
var sum = add(5, 5);
alert(sum);
//方法的声明
function add(i1, i2) {
return i1 + i2;
}
alert(max(4,6)); //如果路径没有返回值,方法默认返回undefined
function max(i1, i2) {
if (i1 > i2) {
return i1;
}
}
定义方法的时候,方法名称不能和js内置函数重名
function alert() {
var i = 0;
}
匿名函数 //c#委托
var f1 = function (i1, i2) {
return i1 + i2;
}
//把f1这个方法传递给test
function test(f) {
return f(5, 6);
}
alert(f1);
alert(test(f1));
alert(function(i1,i2) {return i1+i2 }(5,6));
5、匿名函数
var f1 = function(i1,i2){
return i1 + i2;
}
alert(f1(i1,i2));
6、*面向对象 string
<script type="text/javascript">
function Person(name, age, sex) {
this.name = name;
this.age = age;
this.sex = sex;
this.sayHello = function() {
alert(name + "--" + age);
}
}
var per = new Person("张三", 18, "男");
alert(per);
per.sayHello();
</script>
7、array对象
作为动态数组
作为字典
var names = new Array();
names[0] = "john";
names[1] = "lily";
names[2] = "scofiled";
for (var i = 0; i < names.length; i++) {
alert(names[i]);
}
求最大值======================================
var nums = new Array();
nums[0] = 5;
nums[1] = 6;
function max(numbers) {
var max = numbers[0]; //假设第一个数是最大值
for (var i = 1; i < numbers.length; i++) {
if (max < numbers[i]) {
max = numbers[i];
}
}
return max;
}
var nums = [3,5,9,3,5,4];
alert(max(nums));
分割数组
function splitArr(arr) {
var first = arr[0];
var s = first;
for (var i = 1; i < arr.length; i++) {
s += "|" + arr[i];
}
return s;
}
var arr = ["abc", "bcd", "qwe", "poi"];
alert(splitArr(arr));
//join函数
alert(arr.join("~"));
翻转数组
[a,b,c,d,e] [e,d,c,b,c]
var a = "6";
var b = "c";
var tmp = "";
tmp = a;
a = b;
b = tmp;
alert(a);alert(b);
alert(parseInt(5 / 2));
function reverseArr(arr) {
for (var i = 0; i < parseInt(arr.length / 2); i++) {
var tmp = arr[i];
arr[i] = arr[arr.length - i - 1];
arr[arr.length - i - 1] = tmp;
}
}
var arr = ["a","b","c","d","e","f","g"];
alert(arr);
reverseArr(arr);
alert(arr);
冒泡排序
4,5,7,3,8,5
N个数来排序,外层循环N-1,内层循环N-1-i
var arr = [4, 5, 7, 3, 8, 5];
alert(arr);
sort(arr);
alert(arr);
function sort(arr) {
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - 1; j++) {
if (arr[j] < arr[j + 1]) {
var tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
==============arrar 作为字典===============
字典
var dic = new Array();
dic["zs"] = "张三";
dic["ls"] = "李四";
dic["ww"] = "王五";
错误
for (var i = 0; i < dic.length; i++) {
alert(dic[i]);
}
alert(dic["zs"]);
alert(dic.zs);
for (var d in dic) {
alert(d);
alert(dic[d]);
}
动态数组 特殊的字典。索引就是key
var arr = new Array();
arr[0] = "张三";
arr[1] = "李四";
arr[2] = "王五";
动态数组 简化赋值
var arr = ["张三","李四","王五"];
for (var a in arr) {
alert(a);
}
字典简化赋值
var dic = { "zs": "张三", "li": "李四", "ww": "王五" };
alert(dic.zs);
var arr = ["tom", "jim", "lily"];
alert(arr);
alert(arr.join(","));
使用for in 对对象进行遍历
for (var d in document) {
alert(d);
}
var o = new Object();
o.name = "张三";
o.age = 18;
o.sayHi = function() { alert(this.name) };
//对对象遍历,对象的成员
for (var s in o) {
alert(s);
}
8、json
var json = {"zs":"张三","ls":"李四","ww":"王五"};
9、*扩展方法
String.prototype.quote = function(str) {}
String.prototype.q = function(str) {
return str + this + str;
}
String.prototype.s = function(length) {
return this.substr(0, length);
}