اضافه کردن var یا متغیر رشته ای جدید به فایل js

این تاپیک 5 پاسخ و 2 مشارکت کننده دارد . آخرین آپدیت توسط :  s.alifarrokh ،‏ 2 سال و 2 ماه پیش .

این تاپیک تاکنون 602 بازدید داشته است .

نویسنده پست
سه شنبه ، 7 اکتبر 2014     12:41 ب.ظ #


Mahdi .s

Subscriber
2 پست2 تاپیک

دوستانی که به جاوا اسکریپت آشنا هستن لطفا کمک کنن که چجوری این کد رو به یه فایل js اضافه کنم؟

var operators = '~ ! @ # $ % ^ & * ( ) - + = . / ;';

منظور از اضافه کردن این که بعضی کاراکتر های تو رشته بالایی باید با علامت های خاصی مثل / یا \ جدابشن ولی نمیدونم چجوری.
کسانی که آشنایی دارن لطفا کمک کنن.

0  تشکر
سه شنبه ، 7 اکتبر 2014     5:20 ب.ظ #


s.alifarrokh

Subscriber
396 پست119 تاپیک

سلام

منظورتون رو متوجه نمیشم.

این کد مشکلی نداره و میتونید به فایلتون اضافه کنید.

پیوست ها:
You must be logged in to view attached files.
1  تشکر
سه شنبه ، 7 اکتبر 2014     6:53 ب.ظ #


Mahdi .s

Subscriber
2 پست2 تاپیک

توضیح بیشتر میدم خدمتتون.
این کد در نظرتون باشه که مربوط به اسکریپت Syntax Highlighter هست:
SyntaxHighlighter.brushes.mylang = function(){
var keywords = 'break do end else elseif function if local nil not or repeat return and then until while this';
var funcs = 'math\\.\\w+ string\\.\\w+ os\\.\\w+ debug\\.\\w+ io\\.\\w+ error fopen dofile coroutine\\.\\w+ arg getmetatable ipairs loadfile loadlib loadstring longjmp print rawget rawset seek setmetatable assert tonumber tostring';

this.regexList = [
{ regex: new RegExp('--\\[\\[[\\s\\S]*\\]\\]--', 'gm'), css: 'comments' },
{ regex: new RegExp('--[^\\[]{2}.*$', 'gm'), css: 'comments' }, // one line comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keyword
{ regex: new RegExp(this.getKeywords(funcs), 'gm'), css: 'func' }, // functions
];
}

SyntaxHighlighter.brushes.mylang.prototype = new SyntaxHighlighter.Highlighter();
SyntaxHighlighter.brushes.mylang.aliases = ['mylang'];

که برای زبان سفارشی mylang استفاده میشه (mylang مثال بود)

خب حالا من می خوام عملگرد ها و یه سری علامت دیگه رو با عنوان operators به این کد اضافه کنم تا اونارم تجزیه کنه.

پس این کد رو به لاین پنجم اضافه میکنم:
var operators = '~ ! @ # $ % ^ & * ( ) - + = . / ; ؟ , : | ?';

و همینطور برای سی اس اس این کدو هم به لاین 16 کد بالا اضافه میکنم:
{ regex: new RegExp(this.getKeywords(operators), 'gm'), css: 'operators' },

تا اینجا فکر نمیکنم مشکلی باشه.

مشکل اساسی اینجاست که کدی که به لاین پنجم اضافه کردم اصولی نیست و کار نمیکنه.
یعنی توش از کاراکتر هایی استفاده شده که باعث تداخل تو کار بقیه کد ها میشه پس باید با کاراکتر هایی مثل / یا \ از هم جدا بشن. برای مثل اینجوری (فقط چند تا از علامت های بالا رو شامل میشه):
var operators = '[\\[\\]?*+|{}\\\\()@./^\+=/]';

حالا درخواستم از اساتید اینه که متغیر operators رو برای من اصلاح و در اختیارم قرار بدن تا مشکلم حل بشه. یعنی این کد رو:
var operators = '~ ! @ # $ % ^ & * ( ) - + = . / ; ؟ , : | ?';

0  تشکر
سه شنبه ، 7 اکتبر 2014     11:32 ب.ظ #


s.alifarrokh

Subscriber
396 پست119 تاپیک

والا من بازم متوجه نشدم.

الان شما مشکلتون توی اینه که کدوم کارکتر ها باید اصلاح و به اصطلاح اسکیپ بشن؟

یا مشکلتون تو اون علامت \ هست؟

1  تشکر
چهار شنبه ، 8 اکتبر 2014     10:26 ق.ظ #


Mahdi .s

Subscriber
2 پست2 تاپیک

بله میخوام با \ به صورت اصولی از هم جدا بشن.

به این دو تا کد دقت کنید:

var operators = '[\\[\\]?*+|{}\\\\()@./^\+=/]';
var operators = '~ ! @ # $ % ^ & * ( ) - + = . / ;';

کد ها دقیقا شبیه هم هستند فقط با این تفاوت که تعداد کاراکتر های رشته بالایی کمتره و همچنین توسط پ از هم جدا شدن.
منم میخوام کد پایینی هم به همون شکل جدا بشه. چون وقتی از کد بالایی استفاده میکنم اسکریپت اجرا میشه ولی با کد پایینی اجرا نمیشه و کار نمیکنه.

0  تشکر
چهار شنبه ، 8 اکتبر 2014     7:36 ب.ظ #


s.alifarrokh

Subscriber
396 پست119 تاپیک

والا من نمیدونم کدوم علامت ها باید اسکیپ بشن.هر علامت ممکنه یه جا مشکل درست کنه و به کدتون هم بستگی داره.شرمنده

0  تشکر
پست 1 تا 6 (از مجموع 6 پست)

برای پاسخ دادن به این تاپیک باید وارد سایت شوید .